From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2172 invoked by alias); 27 Jan 2015 22:36:06 -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 2124 invoked by uid 48); 27 Jan 2015 22:36:05 -0000 From: "dje at google dot com" To: gdb-prs@sourceware.org Subject: [Bug symtab/17890] New: gdb needs to punt when it sees a dwarf line table version it doesn't understand Date: Tue, 27 Jan 2015 22:42: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: unassigned at sourceware dot org 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: 2015-q1/txt/msg00132.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=17890 Bug ID: 17890 Summary: gdb needs to punt when it sees a dwarf line table version it doesn't understand Product: gdb Version: HEAD Status: NEW Severity: normal Priority: P2 Component: symtab Assignee: unassigned at sourceware dot org Reporter: dje at google dot com I'm currently adding support for Two Level Linetables, and noticed gdb going into an infinite loop on programs compiled with them. http://wiki.dwarfstd.org/index.php?title=TwoLevelLineTables There are two bugs here: 1) gdb should punt when it sees a line table header version it doesn't understand. The format could be different, there could be new fields or whatever, and blindly continuing is asking for trouble. 2) with the line table errantly read some fields like lh->range are getting a value of zero resulting in a SIGFPE (divide-by-zero). GDB's handling of SIGFPE it to mark the event with the async handler and return. Eh? This results in an infinite loop of SIGFPE->handle_sigfpe->SIGFPE ->handle_sigfpe->... [filed as a separate bug, the number to be recorded once I know it] -- You are receiving this mail because: You are on the CC list for the bug.