From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19001 invoked by alias); 15 Aug 2014 18:35:47 -0000 Mailing-List: contact gdb-prs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-prs-owner@sourceware.org Received: (qmail 18976 invoked by uid 48); 15 Aug 2014 18:35:47 -0000 From: "dje at google dot com" To: gdb-prs@sourceware.org Subject: [Bug symtab/17276] New: gdb needs to coalesce multiple line number entries for the same (non-prologue) line Date: Fri, 15 Aug 2014 18:35:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: symtab X-Bugzilla-Version: HEAD X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dje at google dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dje at google dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-q3/txt/msg00265.txt.bz2 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.