Bug 572260 - missing debuginfo for inline asm arg in c++ method
Summary: missing debuginfo for inline asm arg in c++ method
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-03-10 16:54 UTC by Stan Cox
Modified: 2010-04-13 01:50 UTC (History)
2 users (show)

Fixed In Version: gcc-4.4.3-12.fc13
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-04-13 01:50:41 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
c++ testcase (39.80 KB, application/octet-stream)
2010-03-10 16:54 UTC, Stan Cox
no flags Details

Description Stan Cox 2010-03-10 16:54:03 UTC
Created attachment 399133 [details]
c++ testcase

gcc 4.4.3-9 is unable to find debuginfo for arg3, which has been assigned the method argument 'min', in:
  void method (int min) {}

(stap, by way of libdw, says)
semantic error: failed to retrieve location attribute for local 'arg3' (dieoffset: 0x5be): identifier '$arg3' at /work/scox/virginsystemtap/src/testsuite/systemtap.base/cxxclass.stp:28:57
        source:   printf("meth %s: %d %d\n", user_string($arg1), $arg2, $arg3);
                                                                        ^
gcc built from the upstream svn trunk works okay:
/work/scox/toolchain/install/bin/g++ -O2 -g cxxclass.ii -o cxxclass.exe
stap cxxclass.stp cxxclass.exe -c ./cxxclass.exe
main_enter
...

Comment 1 Jakub Jelinek 2010-03-10 21:43:37 UTC
The trunk just makes slightly different inlining decisions.
Compiling this on the trunk -g -O2 --param early-inlining-insns=32 leads to the same thing.  While VTA and var-tracking correctly track it, when method is inlined in early inlining rather than normal inlining, it is decided to be a non-localized variable, therefore dwarf2out.c doesn't look it up, just its origin and thus eventhough dwarf2out_var_location recorded that it is constant and its value, gen_variable_die doesn't look it up at all.

Will file upstream and discuss there with Honza.

Comment 2 Fedora Update System 2010-03-25 22:00:42 UTC
gcc-4.4.3-12.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/gcc-4.4.3-12.fc13

Comment 3 Fedora Update System 2010-04-01 19:27:21 UTC
gcc-4.4.3-12.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update gcc'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/gcc-4.4.3-12.fc13

Comment 4 Fedora Update System 2010-04-13 01:50:37 UTC
gcc-4.4.3-12.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.