This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: [BUG?] semantic error: failed to retrieve location attribute for local
Jan Blunck <jblunck@suse.de> writes:
> [...]
> > Problems such as this tend to be limitations of gcc debugging
> > information quality. [...]
> This is a major problem. A lot of interesting code is inlined in the
> kernel. Any plans/ideas how to fix this issue?
In this case, one must spend some time hacking the compiler.
Once the marker-based static instrumentation widget makes it into the
official kernels, then sprinkling them into the more valuable inline
functions will let us hook up systemtap probes with no reliance on
debugging information.
> But the debuginfo is emitted AFAICS, isn't it?
Yes, some, but:
> <1><6dd453>: Abbrev Number: 63 (DW_TAG_subprogram)
> DW_AT_name : (indirect string, offset: 0x38365): real_lookup [...]
> DW_AT_inline : 1 (inlined) [...]
> <2><6dd471>: Abbrev Number: 61 (DW_TAG_formal_parameter)
> DW_AT_name : (indirect string, offset: 0x43b44): name
> DW_AT_decl_file : 1
> DW_AT_decl_line : 446
> DW_AT_type : <6d7bc9>
> <2>[...]
Note that there is no DW_AT_location data, which we could use to
locate the values in memory/registers at run time.
- FChE