[LLVMbugs] [Bug 18866] New: Debug info for function argument has a wrong span
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sun Feb 16 23:57:55 PST 2014
http://llvm.org/bugs/show_bug.cgi?id=18866
Bug ID: 18866
Summary: Debug info for function argument has a wrong span
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: Core LLVM classes
Assignee: unassignedbugs at nondot.org
Reporter: yuri at tsoft.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 12077
--> http://llvm.org/bugs/attachment.cgi?id=12077&action=edit
test case
Please run the script 'run' from the attached test case. Please note the debug
info for the function argument 'xargs' in the file 'x.o.dwarf':
< 2><0x000000c4> DW_TAG_formal_parameter
DW_AT_name xargs
DW_AT_decl_file 0x00000001
xxxdirxxx/file.xxx
DW_AT_decl_line 0x0000026a
DW_AT_type <0x00000072>
DW_AT_location <loclist with 2 entries
follows>
[ 0]<lowpc=0x00000010><highpc=0x0000001f>DW_OP_reg5
[ 1]<lowpc=0x0000001f><highpc=0x00000021>DW_OP_breg7+0
This debug info says that the xargs argument is valid in the range from
lowpc=0x00000010 to highpc=0x00000021
However, from the file 'x.o.asm' it is obvious that the function itself has the
range 0x0010-0x004b.
So the debug info is wrong because its range is too narrow. The range of the
argument should be equal to the function range 0x0010-0x004b, like for every
function argument in unoptimized code.
Additionally, I have two notes:
Note 1: The DW_AT_location line above shouldn't even mention any ranges, and
should look like this:
DW_AT_location DW_OP_reg5
This is because in unoptimized code the range of the argument should be equal
to the function range, and its location is originally defined by the ABI, and
there is no reason why -O0 code should change the argument location at all.
Note 2: Curiously, when in the same case -code-model is set to 'default', the
function range actually becomes 0x0010-0x0021, and the same debug info becomes
valid. This may be a coincidence.
rev.201464 amd64
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140217/513d0f6c/attachment.html>
More information about the llvm-bugs
mailing list