This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug symtab/17276] New: gdb needs to coalesce multiple line number entries for the same (non-prologue) line
- From: "dje at google dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Fri, 15 Aug 2014 18:35:45 +0000
- Subject: [Bug symtab/17276] New: gdb needs to coalesce multiple line number entries for the same (non-prologue) line
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=17276
Bug ID: 17276
Summary: gdb needs to coalesce multiple line number entries for
the same (non-prologue) line
Product: gdb
Version: HEAD
Status: NEW
Severity: normal
Priority: P2
Component: symtab
Assignee: dje at google dot com
Reporter: dje at google dot com
watchpoint-reuse-slot.exp fails with clang.
The reason is that the test does a stepi to step into the middle of a line and
expects gdb to print the pc value (which gdb will do when in the middle of a
line).
for (i = 0; i < 10; ++i) continue;
clang emits several line number entries for that line,
each with a different discriminator.
The Directory Table:
../../../binutils-gdb/gdb/testsuite/gdb.base
The File Name Table:
Entry Dir Time Size Name
1 1 0 0 watchpoint-reuse-slot.c
Line Number Statements:
Extended opcode 2: set Address to 0x400600
Advance Line by 29 to 30
Copy
Set column to 3
Set prologue_end to true
Special opcode 160: advance Address by 11 to 0x40060b and Line by 1 to 31
Set column to 8
Special opcode 106: advance Address by 7 to 0x400612 and Line by 3 to 34
Extended opcode 4: set Discriminator to 4
Special opcode 103: advance Address by 7 to 0x400619 and Line by 0 to 34
Extended opcode 4: set Discriminator to 2
Special opcode 201: advance Address by 14 to 0x400627 and Line by 0 to 34
Set column to 27
Extended opcode 4: set Discriminator to 3
Special opcode 75: advance Address by 5 to 0x40062c and Line by 0 to 34
Set column to 3
Extended opcode 4: set Discriminator to 0
Advance PC by constant 17 to 0x40063d
Special opcode 63: advance Address by 4 to 0x400641 and Line by 2 to 36
Advance PC by 2 to 0x400643
Extended opcode 1: End of Sequence
Thus gdb gets confused - the pc is in the middle of line 34, but gdb doesn't
think so.
patch to follow.
--
You are receiving this mail because:
You are on the CC list for the bug.