[Bug debug/84550] [8 Regression] stepping through gcc does not work with gdb 8.0.1

2018-03-15 Thread kevinb at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84550 --- Comment #16 from Kevin Buettner --- Created attachment 43671 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43671&action=edit GDB patch - dwarf2read.c I've attached the GDB patch that I'm currently testing. When I try it against eithe

[Bug debug/84550] [8 Regression] stepping through gcc does not work with gdb 8.0.1

2018-03-08 Thread kevinb at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84550 --- Comment #15 from Kevin Buettner --- 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

[Bug debug/84550] [8 Regression] stepping through gcc does not work with gdb 8.0.1

2018-03-06 Thread kevinb at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84550 --- Comment #13 from Kevin Buettner --- (In reply to Kevin Buettner from comment #11) > This code, which is in find_pc_partial_function_gnu_ifunc(), incorrectly > identifies this address, 0x400590, as belonging to qux: > > if (mapped_pc >= ca

[Bug debug/84550] [8 Regression] stepping through gcc does not work with gdb 8.0.1

2018-03-06 Thread kevinb at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84550 --- Comment #12 from Kevin Buettner --- 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

[Bug debug/84550] [8 Regression] stepping through gcc does not work with gdb 8.0.1

2018-03-06 Thread kevinb at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84550 --- Comment #11 from Kevin Buettner --- I've simplified Jakub's example slightly: --- vau2.c --- struct A { int a; }; struct B { struct A *b; }; struct C { struct B *c; }; __attribute__((noipa)) bool foo (struct A *p) { return false; } __att