[Bug debug/48827] New: too far prologue end marker
jan.kratochvil at redhat dot com
gcc-bugzilla@gcc.gnu.org
Fri Apr 29 17:58:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48827
Summary: too far prologue end marker
Product: gcc
Version: 4.4.6
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: jan.kratochvil@redhat.com
CC: dodji@gcc.gnu.org
Target: x86_64-unknown-linux-gnu
reposted from GDB BZ: http://sourceware.org/bugzilla/show_bug.cgi?id=12644
FAIL: gcc (GCC) 4.7.0 20110429 (experimental)
FAIL: gcc (GCC) 4.6.1 20110429 (prerelease)
FAIL: gcc (GCC) 4.5.4 20110429 (prerelease)
FAIL: gcc (GCC) 4.4.7 20110429 (prerelease)
PASS: gcc (GCC) 3.3.5 --- but the code has no jmp there at all
static void
f (int c)
{
do
{
if (c)
continue;
return;
}
while (1);
}
int
main(void)
{
f (0);
return 0;
}
GNU gdb (GDB) 7.3.50.20110428-cvs
(gdb) start
Temporary breakpoint 1, main () at f.c:15
15 f (0);
(gdb) step
child:target_xfer_partial (..., 0x40045d, 1) = 1, bytes = cc
^^^^^^^^
[Inferior 1 (process 16375) exited normally]
readelf -wL
File name Line number Starting address
f.c 3 0x400454
f.c 10 0x40045d
0000000000400454 <f>:
f():
f.c:3
400454: 55 push %rbp
400455: 48 89 e5 mov %rsp,%rbp
400458: 89 7d fc mov %edi,-0x4(%rbp)
40045b: eb 01 jmp 40045e <f+0xa>
f.c:10
40045d: 90 nop
^^^^^^ = breakpoint placed here
f.c:6
40045e: 83 7d fc 00 cmpl $0x0,-0x4(%rbp)
GDB thinks the prologue ends at 0x40045d.
More information about the Gcc-bugs
mailing list