public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* PR 1295
@ 2005-09-27  1:18 Frank Ch. Eigler
  0 siblings, 0 replies; only message in thread
From: Frank Ch. Eigler @ 2005-09-27  1:18 UTC (permalink / raw)
  To: systemtap

Hi -

I committed a possible improvement in the way prologues are analyzed
in systemtap.  Recall that this analysis is essential in order to
access function parameters based upon the limited location list
(debug) info that older gcc's produce.

This is a slightly different heuristic that overrides the previous
one.  This one looks for the first line record (roughly: object code
PC address of potential debugging interest) that has a source line
coordinate other than the one associated with the function entrypc.
The latter is usually assigned to the "{" opening brace.  The former
is usually the first real statement.  Comments inside tapsets.cxx
(resolve_prologue_endings2) indicate one possible problem with this
(not matching based on file name), which would benefit from a teeny
elfutils extension.

The previous heuristic worked by looking for the first line record
after the function decl's own.  Unfortunately, this fails if the
compiler happens to emit a few sort-of dummy records for activity
within the prologue.

Anyway, since this was one of my first forays into dwarf land, it's
quite possible that something is not quite right, so please retest any
script code that relies on accessing function parameters.  In
particular, if in verbose (-v) mode, there is a "prologue
disagreement" message, the new heuristic has taken over, and I'd like
to hear about it.

- FChE

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-27  1:18 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-27  1:18 PR 1295 Frank Ch. Eigler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).