http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51784
--- Comment #16 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-01-13 23:46:47 UTC --- > disas x > > would be interesting here to find out what insn is at 0x29c0 and what is > around > that. 0x0000291b <+0>: push %ebp 0x0000291c <+1>: mov %esp,%ebp 0x0000291e <+3>: push %edi 0x0000291f <+4>: push %esi 0x00002920 <+5>: push %ebx 0x00002921 <+6>: sub $0x3c,%esp 0x00002924 <+9>: call 0x2660 0x00002929 <+14>: lea -0x18(%ebp),%eax 0x0000292c <+17>: mov %eax,-0x24(%ebp) 0x0000292f <+20>: mov %esp,-0x20(%ebp) 0x00002932 <+23>: lea 0x2833(%ebx),%eax 0x00002938 <+29>: mov (%eax),%eax 0x0000293a <+31>: lea 0x282f(%ebx),%edx 0x00002940 <+37>: mov (%edx),%edx 0x00002942 <+39>: mov %edx,0x10(%esp) 0x00002946 <+43>: lea -0xe(%ebx),%edx 0x0000294c <+49>: mov %edx,0xc(%esp) 0x00002950 <+53>: movl $0x0,0x4(%esp) 0x00002958 <+61>: movl $0x0,0x8(%esp) 0x00002960 <+69>: mov %eax,(%esp) 0x00002963 <+72>: call 0x4420 <__gcov_indirect_call_profiler> 0x00002968 <+77>: lea 0x282f(%ebx),%eax 0x0000296e <+83>: movl $0x0,(%eax) 0x00002974 <+89>: lea 0x2857(%ebx),%eax 0x0000297a <+95>: mov 0x4(%eax),%edx 0x0000297d <+98>: mov (%eax),%eax 0x0000297f <+100>: add $0x1,%eax 0x00002982 <+103>: adc $0x0,%edx 0x00002985 <+106>: lea 0x2857(%ebx),%ecx 0x0000298b <+112>: mov %eax,(%ecx) 0x0000298d <+114>: mov %edx,0x4(%ecx) 0x00002990 <+117>: lea -0x24(%ebp),%eax 0x00002993 <+120>: mov 0x8(%ebp),%edx 0x00002996 <+123>: mov %edx,(%esp) 0x00002999 <+126>: mov %eax,%ecx 0x0000299b <+128>: call 0x283e <y> 0x000029a0 <+133>: jmp 0x29c3 <x+168> 0x000029a2 <+135>: lea 0x18(%ebp),%ebp => 0x000029a5 <+138>: lea 0x2857(%ebx),%eax 0x000029ab <+144>: mov 0xc(%eax),%edx 0x000029ae <+147>: mov 0x8(%eax),%eax 0x000029b1 <+150>: add $0x1,%eax 0x000029b4 <+153>: adc $0x0,%edx 0x000029b7 <+156>: lea 0x2857(%ebx),%ecx 0x000029bd <+162>: mov %eax,0x8(%ecx) 0x000029c0 <+165>: mov %edx,0xc(%ecx) 0x000029c3 <+168>: mov 0x8(%ebp),%esi 0x000029c6 <+171>: lea 0x2857(%ebx),%eax 0x000029cc <+177>: mov 0x14(%eax),%edx 0x000029cf <+180>: mov 0x10(%eax),%eax 0x000029d2 <+183>: add $0x1,%eax 0x000029d5 <+186>: adc $0x0,%edx 0x000029d8 <+189>: lea 0x2857(%ebx),%ecx 0x000029de <+195>: mov %eax,0x10(%ecx) 0x000029e1 <+198>: mov %edx,0x14(%ecx) 0x000029e4 <+201>: mov %esi,%eax 0x000029e6 <+203>: add $0x3c,%esp 0x000029e9 <+206>: pop %ebx 0x000029ea <+207>: pop %esi 0x000029eb <+208>: pop %edi 0x000029ec <+209>: pop %ebp 0x000029ed <+210>: ret and the registers evolution is (gdb) stepi 0x000029b4 29 y (a); (gdb) info registers eax 0xdb52c000 -615333888 ecx 0xbfffd934 -1073751756 edx 0xbfff 49151 ebx 0x284b 10315 esp 0xbfffd910 0xbfffd910 ebp 0xbfffd958 0xbfffd958 esi 0x51a0 20896 edi 0x0 0 eip 0x29b4 0x29b4 <x+153> eflags 0x396 [ PF AF SF TF IF ] cs 0x17 23 ss 0xbfffd934 -1073751756 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55 (gdb) stepi 0x000029b7 29 y (a); (gdb) info registers eax 0xdb52c000 -615333888 ecx 0xbfffd934 -1073751756 edx 0xbfff 49151 ebx 0x284b 10315 esp 0xbfffd910 0xbfffd910 ebp 0xbfffd958 0xbfffd958 esi 0x51a0 20896 edi 0x0 0 eip 0x29b7 0x29b7 <x+156> eflags 0x306 [ PF TF IF ] cs 0x17 23 ss 0xbfffd934 -1073751756 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55 (gdb) stepi 0x000029bd 29 y (a); (gdb) info registers eax 0xdb52c000 -615333888 ecx 0x50a2 20642 edx 0xbfff 49151 ebx 0x284b 10315 esp 0xbfffd910 0xbfffd910 ebp 0xbfffd958 0xbfffd958 esi 0x51a0 20896 edi 0x0 0 eip 0x29bd 0x29bd <x+162> eflags 0x306 [ PF TF IF ] cs 0x17 23 ss 0x50a2 20642 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55 (gdb) stepi 0x000029c0 29 y (a); (gdb) info registers eax 0xdb52c000 -615333888 ecx 0x50a2 20642 edx 0xbfff 49151 ebx 0x284b 10315 esp 0xbfffd910 0xbfffd910 ebp 0xbfffd958 0xbfffd958 esi 0x51a0 20896 edi 0x0 0 eip 0x29c0 0x29c0 <x+165> eflags 0x306 [ PF TF IF ] cs 0x17 23 ss 0x50a2 20642 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55 (gdb) stepi 31 return a; (gdb) info registers eax 0xdb52c000 -615333888 ecx 0x50a2 20642 edx 0xbfff 49151 ebx 0x284b 10315 esp 0xbfffd910 0xbfffd910 ebp 0xbfffd958 0xbfffd958 esi 0x51a0 20896 edi 0x0 0 eip 0x29c3 0x29c3 <x+168> eflags 0x306 [ PF TF IF ] cs 0x17 23 ss 0x50a2 20642 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55 (gdb) stepi 0x000029c6 31 return a; (gdb) info registers eax 0xdb52c000 -615333888 ecx 0x50a2 20642 edx 0xbfff 49151 ebx 0x284b 10315 esp 0xbfffd910 0xbfffd910 ebp 0xbfffd958 0xbfffd958 esi 0x1 1 edi 0x0 0 eip 0x29c6 0x29c6 <x+171> eflags 0x306 [ PF TF IF ] cs 0x17 23 ss 0x50a2 20642 ds 0x1f 31 es 0x1f 31 fs 0x0 0 gs 0x37 55