diff options
author | Tom de Vries <tdevries@suse.de> | 2022-10-19 17:41:47 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-10-19 17:41:47 +0200 |
commit | 508ccf9b3e1db355037a4a1c9004efe0d6d3ffbf (patch) | |
tree | d03bd125007dccd265f932e9ee6ab367bd8550c9 /gdb | |
parent | f34652de0b68c4ee3050828b43a2839b852b5821 (diff) | |
download | gdb-508ccf9b3e1db355037a4a1c9004efe0d6d3ffbf.zip gdb-508ccf9b3e1db355037a4a1c9004efe0d6d3ffbf.tar.gz gdb-508ccf9b3e1db355037a4a1c9004efe0d6d3ffbf.tar.bz2 |
[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
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/breakpoint.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index eb4dedf..0eace4f 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -5679,7 +5679,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 (); } |