From: Arnaldo Carvalho de Melo <acme-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: jamal <hadi-fAAogVwAN2Kw5LPnMra/2Q@public.gmane.org>
Cc: dwarves-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: eat your own dog food?
Date: Thu, 10 Jan 2008 11:39:26 -0200 [thread overview]
Message-ID: <20080110133926.GF22437@ghostprotocols.net> (raw)
In-Reply-To: <1199968968.4438.49.camel@localhost>
Em Thu, Jan 10, 2008 at 07:42:48AM -0500, jamal escreveu:
>
> Hey Arnaldo,
>
> You ever tasted what you are cooking?;->
>
> ---
> hadi@lilsol:~/git-trees/arnaldo/jamal/build$ pahole ./pahole| grep XXX
> /* XXX last struct has 1 byte of padding */
> /* XXX 1 bit hole, try to pack */
> /* XXX 1 byte hole, try to pack */
> /* XXX 2 bytes hole, try to pack */
> /* XXX 2 bits hole, try to pack */
> /* XXX 1 byte hole, try to pack */
> /* XXX last struct has 2 bytes of padding */
> /* XXX 1 byte hole, try to pack */
> hadi@lilsol:~/git-trees/arnaldo/jamal/build$
> ---
:-) I'll check that later :-P But some holes are inevitable, the best
thing is to try:
[acme@doppio pahole]$ pahole --packable build/pahole
argp_child 32 24 8
argp_option 48 40 8
_IO_FILE 216 208 8
[acme@doppio pahole]$
Which is kinda interesting, huh? Only glibc stuff :-)
--packable means: run --reorganize in all structs and compare the result
with the original struct, if we have savings, tell us (original size,
reorganized size, savings).
> On a serious note, feature request:
>
> I am trying to put words to what i am looking for and it's a little hard
> without providing a lot of boring context. For brevity, lets say i have
> an inherited 500K lines of code. Assume i compiled a program for 32-bit
> target and now i have to move it to a 128-bit playstation 3 with
> whatever strange alignment rules.
> I want to do achieve 2 and a half things:
>
> a)
> i) check the structure for holes for X-bit access alignment where X is
> 16 (old 680xx), 64, 128. I want to do this without compiling the program
> for any of those targets i.e i want to do this on my x86 32-bit
> laptop ;-> i.e call this cross-pahole
>
> ii) If i can do the above; i should then be able to say "optimize" (what
> you call --reorganize) for X-bit
>
> b) I want to do a multiple of these example "optimize for 32-bit and
> 64-bit" or "check if it is safe for 128-bit and 16-bit alignemnt"
>
> Note, clearly if i can make it read config files with rules for
> something like the MIPS EABI in the first part of this email:
> http://sourceware.org/ml/binutils/2003-06/msg00436.html
> then i can say "check if it safe for mips 32 bit and x86_64" ;->
> And i can make sure my apps will run on that new cpu i dont have access
> to.
>
> I could ask for more, but let me start/stop here incase you are going to
> lynch me;->
No need for lynching this time. What we have to do is:
. make the addr_size configurable and when the user specifies an
addr_size that is different than the one in the DWARF info being
processed, fixup it in all the data structures. The --reorganize code
already does many kinds of fixups, it would be one more.
. moreover, specify alignment rules, that way the reorganization code
would process all the structs, applying this rule.
IOW: its possible, should be fairly easy to implement the addr_size and
from that the alignment rules.
I'll try to work on the addr_size first, perhaps this weekend as I've
been promising to do way too many things in many fronts :-\
- Arnaldo
-
To unsubscribe from this list: send the line "unsubscribe dwarves" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-01-10 13:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-10 12:42 eat your own dog food? jamal
2008-01-10 13:39 ` Arnaldo Carvalho de Melo [this message]
[not found] ` <20080110133926.GF22437-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-10 13:55 ` jamal
2008-01-10 14:06 ` Arnaldo Carvalho de Melo
[not found] ` <20080110140635.GG22437-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-10 16:39 ` Arnaldo Carvalho de Melo
[not found] ` <20080110163959.GJ22437-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-10 21:37 ` jamal
2008-01-10 21:44 ` Arnaldo Carvalho de Melo
[not found] ` <20080110214438.GT22437-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-11 0:45 ` jamal
2008-01-11 1:04 ` jamal
2008-01-10 21:39 ` Arnaldo Carvalho de Melo
[not found] ` <20080110213909.GS22437-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-10 21:41 ` jamal
2008-01-12 15:21 ` Arnaldo Carvalho de Melo
[not found] ` <20080112152109.GA23567-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-12 15:54 ` Changing the word-size was: " Arnaldo Carvalho de Melo
[not found] ` <20080112155404.GB23567-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-12 16:28 ` Arnaldo Carvalho de Melo
[not found] ` <20080112162808.GC23567-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-12 17:28 ` Arnaldo Carvalho de Melo
[not found] ` <20080112172856.GD23567-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-12 18:08 ` jamal
2008-01-12 18:42 ` Arnaldo Carvalho de Melo
[not found] ` <20080112184211.GA17675-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-13 0:42 ` jamal
2008-01-13 1:15 ` jamal
[not found] ` <20080113163106.GE17675@ghostprotocols.net>
[not found] ` <20080113163106.GE17675-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-13 18:07 ` Arnaldo Carvalho de Melo
[not found] ` <20080113180730.GG17675-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-13 18:19 ` Arnaldo Carvalho de Melo
[not found] ` <20080113181901.GH17675-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-13 18:26 ` Arnaldo Carvalho de Melo
[not found] ` <20080113182657.GI17675-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-13 19:13 ` jamal
2008-01-12 21:36 ` Arnaldo Carvalho de Melo
[not found] ` <20080112213635.GC17675-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2008-01-12 22:08 ` Arnaldo Carvalho de Melo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080110133926.GF22437@ghostprotocols.net \
--to=acme-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=dwarves-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=hadi-fAAogVwAN2Kw5LPnMra/2Q@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.