It appears that inlined_subroutine dwarf records are not always generated for inlined functions, and when they are generated the formal_parameter records of the inlined_subroutine do not always have location records.
I have prepared 6 files (2 per case) demonstrating 3 different minimal cases. In each case, the .i file is the input and the .dump file is the result of running eu-readelf --debug-dump a.out. The three cases are: - formal-parameter-but-no-location: this has an inlined_subroutine record with no location attribute on the formal_parameter. the missing attribute should appear around line 77 of the dump. - no-inlined-subroutine-record: this shows that inlined_subroutines are not always generated. the missing record should appear around line 54 of the dump. - constant-formal-parameter-with-location.dump: this has a record in the form I would expect to see in the previous 2 cases: lines 65-77 of the dump show both the inlined_subroutine and formal_parameter with a location attribute. Please let me know if you need more details. -- Summary: dwarf records for inlines appear incomplete Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: graydon at redhat dot com CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i386-redhat-linux GCC host triplet: i386-redhat-linux GCC target triplet: i386-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23551