* gdb-fix-assert-in-handle_jit_event.patch - Maintenance script qa.sh: * Add PR29706 and PR28617 kfails. OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=337
47 lines
1.4 KiB
Diff
47 lines
1.4 KiB
Diff
[gdb] Fix assert in handle_jit_event
|
|
|
|
With the cc-with-tweaks.sh patch submitted here (
|
|
https://sourceware.org/pipermail/gdb-patches/2022-October/192586.html ) we run
|
|
with:
|
|
...
|
|
$ export STRIP_ARGS_STRIP_DEBUG=--strip-all
|
|
$ make check RUNTESTFLAGS="gdb.base/jit-reader.exp \
|
|
--target_board cc-with-gnu-debuglink"
|
|
...
|
|
into the following assert:
|
|
...
|
|
(gdb) run ^M
|
|
Starting program: jit-reader ^M
|
|
gdb/jit.c:1247: internal-error: jit_event_handler: \
|
|
Assertion `jiter->jiter_data != nullptr' failed.^M
|
|
...
|
|
|
|
Fix this by handling the
|
|
jit_bp_sym.objfile->separate_debug_objfile_backlink != nullptr case in
|
|
handle_jit_event.
|
|
|
|
Tested on x86_64-linux.
|
|
|
|
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29277
|
|
|
|
---
|
|
gdb/breakpoint.c | 5 ++++-
|
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
|
|
index b046adf08f9..34f35135dfe 100644
|
|
--- a/gdb/breakpoint.c
|
|
+++ b/gdb/breakpoint.c
|
|
@@ -5566,7 +5566,10 @@ handle_jit_event (CORE_ADDR address)
|
|
function needs to be updated too. */
|
|
bound_minimal_symbol jit_bp_sym = lookup_minimal_symbol_by_pc (address);
|
|
gdb_assert (jit_bp_sym.objfile != nullptr);
|
|
- jit_event_handler (gdbarch, jit_bp_sym.objfile);
|
|
+ objfile *objfile = jit_bp_sym.objfile;
|
|
+ if (objfile->separate_debug_objfile_backlink)
|
|
+ objfile = objfile->separate_debug_objfile_backlink;
|
|
+ jit_event_handler (gdbarch, objfile);
|
|
|
|
target_terminal::inferior ();
|
|
}
|