https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84550

--- Comment #12 from Kevin Buettner <kevinb at redhat dot com> ---
I'll note, too, that just setting a breakpoint on qux and then looking at the
locations reveals another problem...

(gdb) b qux
Breakpoint 1 at 0x400460: qux. (2 locations)
(gdb) info break
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   <MULTIPLE>         
1.1                         y     0x0000000000400460 in qux(C*) at vau2.c:24
1.2                         y     0x00000000004005b0 in qux(C*) at vau2.c:24
(gdb) x/4i 0x400460
   0x400460 <qux(C*)>:  callq  0x400430 <abort@plt>
   0x400465:    nopw   %cs:0x0(%rax,%rax,1)
   0x40046f:    nop
   0x400470 <main()>:   sub    $0x28,%rsp
(gdb) x/4i 0x4005b0
   0x4005b0 <_Z3quxP1C>:        push   %rbx
   0x4005b1 <_Z3quxP1C+1>:      mov    (%rdi),%rax
   0x4005b4 <_Z3quxP1C+4>:      test   %rax,%rax
   0x4005b7 <_Z3quxP1C+7>:      je     0x400460 <qux(C*)>

Placing a breakpoint on 0x400460 is incorrect since this is not an actual entry
point to the function.

Reply via email to