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]

PR 1295


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


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