From: Arnaldo Carvalho de Melo <acme-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Bart Trojanowski <bart-LIbhotJ4rFdeoWH0uzbU5w@public.gmane.org>
Cc: dwarves-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: extracting data access from functions
Date: Tue, 27 Jan 2009 14:01:33 -0200 [thread overview]
Message-ID: <20090127160133.GB15877@ghostprotocols.net> (raw)
In-Reply-To: <20090127155221.GD18307-LIbhotJ4rFdeoWH0uzbU5w@public.gmane.org>
Em Tue, Jan 27, 2009 at 10:52:22AM -0500, Bart Trojanowski escreveu:
> * Arnaldo Carvalho de Melo <acme-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> [090127 10:27]:
> > With DWARF you can:
> >
> > 1. find out struct layout
> > 2. find which functions have parameters of the type you want
> > 3. find which functions have variables of the type you want
> > 4. Know where such variables and parameters are on memory
> > using DWARF location expressions (google for loc2c)
> >
> > And that is it.
>
> Thanks for the quick reply and clarification.
>
> > Then... you would need to use libdisasm, that is part of elfutils but is
> > still a bit rough, being designed mostly for what you get from the
> > binutils utilities disassembly options.
> >
> > Combinining the above you will be able to do what you want.
>
> That sounds interesting, but unfortunately the man pages notes that...
> >> The x86-64 architecture is not supported..LP
> ... being ia32-only makes it a no go for me.
Forget about the man page, this is very fluid, look at the latest
released version, 0.139, on fedorahosted, lemme dig the URL
https://fedorahosted.org/elfutils/
There is now a git tree, check it and, again, forget about the man page
:)
> Is there another route you could think of that is not platform-specific?
>
> I guess binutils/objdump doesn't actually understand what's happening it
> just links it back to the code. Hmm... and things like gdb are aware of
> things because they are platform specific.
>
> > I want to look at usage patterns to figure out what are the member
> > working sets to pass that to my struct member reorganizing routines, run
> > with performance counters before/after, all automated, and reap the
> > profits 8)
>
> I hear ya. :)
>
> Thanks again.
Gimme 5 minutes and I'll get that done! ;-)
- 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:[~2009-01-27 16:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-27 15:11 extracting data access from functions Bart Trojanowski
[not found] ` <20090127151124.GA18307-LIbhotJ4rFdeoWH0uzbU5w@public.gmane.org>
2009-01-27 15:27 ` Arnaldo Carvalho de Melo
[not found] ` <20090127152724.GB27308-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2009-01-27 15:52 ` Bart Trojanowski
[not found] ` <20090127155221.GD18307-LIbhotJ4rFdeoWH0uzbU5w@public.gmane.org>
2009-01-27 16:01 ` Arnaldo Carvalho de Melo [this message]
[not found] ` <20090127160133.GB15877-f8uhVLnGfZaxAyOMLChx1axOck334EZe@public.gmane.org>
2009-01-27 16:26 ` Bart Trojanowski
[not found] ` <20090127162633.GF18307-LIbhotJ4rFdeoWH0uzbU5w@public.gmane.org>
2009-01-27 23:07 ` Roland McGrath
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=20090127160133.GB15877@ghostprotocols.net \
--to=acme-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=bart-LIbhotJ4rFdeoWH0uzbU5w@public.gmane.org \
--cc=dwarves-u79uwXL29TY76Z2rM5mHXA@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox