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

--- Comment #15 from Kevin Buettner <kevinb at redhat dot com> ---
I've been focusing my attention on dwarf2read.c (in GDB).  I have a patch which
fixes this problem, but which introduces a bunch of test suite regressions. 
(So it's not a very good patch.)  I'll be away on Friday, but will resume
looking at it when I return on Monday.

Anyway, with that not-very-good patch in place, this is what I see:

(gdb) b qux    
Breakpoint 1 at 0x4005b0: file vau2.c, line 24.
(gdb) x/i 0x400460
   0x400460 <_Z3quxP1C.cold.0>: callq  0x400430 <abort@plt>
(gdb) 
   0x400465:    nopw   %cs:0x0(%rax,%rax,1)
(gdb) 
   0x40046f:    nop
(gdb) run
Starting program: /mesquite2/.ironwood2/84550/vau2 

Breakpoint 1, qux (p=0x7fffffffe098) at vau2.c:24
24        if (!p->c) __builtin_abort ();
(gdb) s
25        a = p->c->b;
(gdb) s
27        b = (a->a == 4)
(gdb) s
foo (p=0x7fffffffe08c) at vau2.c:8
8         return false;

Note that only one location is set for the breakpoint in qux.  Also, I'm now
able to step into foo().

Reply via email to