From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22701 invoked by alias); 1 Jul 2008 15:35:07 -0000 Received: (qmail 22300 invoked by uid 48); 1 Jul 2008 15:34:21 -0000 Date: Tue, 01 Jul 2008 15:35:00 -0000 Subject: [Bug debug/36690] New: .debug_line first line is behind the first instruction X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jan dot kratochvil at redhat dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-07/txt/msg00036.txt.bz2 So far -O0 code could be safely debugged. With 4.3.1 and HEAD if you `break func' in GDB the breakpoint can be missed despite the function got executed. The line number info is wrong and as GCC does not produce prologue-end GDB is using the line number information to skip the prologue. Version-Release number of selected component (if applicable): gcc-4.3.1-3.x86_64 (Fedora 9, broken) Fedora 8 was correct: gcc-4.1.2-33.x86_64 Verified as broken on: GNU C (GCC) version 4.4.0 20080701 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 3.4.6 20060404 (Red Hat 3.4.6-9), GMP version 4.2.2, MPFR version 2.3.0-p2. GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Steps to Reproduce: cat >whilemain.c <: int i; void func (void) { 40047c: 55 push %rbp 40047d: 48 89 e5 mov %rsp,%rbp 400480: eb 0a jmp 40048c while (i == 1) i = 0; 400482: c7 05 fc 03 20 00 00 movl $0x0,0x2003fc(%rip) # 600888 400489: 00 00 00 gcc-4.1.2-33.x86_64 (Fedora 8): 0000000000400468 : int i; void func (void) { 400468: 55 push %rbp 400469: 48 89 e5 mov %rsp,%rbp while (i == 1) 40046c: eb 0a jmp 400478 i = 0; 40046e: c7 05 fc 03 20 00 00 movl $0x0,0x2003fc(%rip) # 600874 400475: 00 00 00 -- Summary: .debug_line first line is behind the first instruction Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jan dot kratochvil at redhat dot com GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36690