This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/6941] better prologue heuristics needed for userspace (non-regparm)


http://sourceware.org/bugzilla/show_bug.cgi?id=6941

Frank Ch. Eigler <fche at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jan.kratochvil at redhat
                   |                            |dot com, mjw at redhat dot
                   |                            |com

--- Comment #3 from Frank Ch. Eigler <fche at redhat dot com> 2012-06-16 16:32:58 UTC ---
With gcc VTA, prologue searching at -O2 is becoming unnecessary.  However, at
-O0 it is becoming essential, for gcc does not run VTA processing at -O0, and
the dwarf location list data it emits is only accurate in the post-prologue
section.  So we need to figure out whether the given target executable was
built with -O0, and then perform proper prologue search heuristics.

To find out -O*, one can look at the DW_AT_producer of the
DW_TAG_compile_unit,; recent gcc emits the compiler option list in there.  We
can look for the absence of -O[123] and/or the presence of -O0, or
-fno-var-tracking.  It's a heuristic, but so there.  See gdb's
dwarf2read.c:process_full_comp_unit() to see its set of related heuristics.

See gdb's symtab.c:skip_prologue_sal() and skip_prologue_using_lineinfo() for
the actual prologue-skipping heuristics, which are similar to our own in
dwflpp.cxx:resolve_prologue_endings().

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]