aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-10-19 17:41:47 +0200
committerTom de Vries <tdevries@suse.de>2022-10-19 17:41:47 +0200
commit508ccf9b3e1db355037a4a1c9004efe0d6d3ffbf (patch)
treed03bd125007dccd265f932e9ee6ab367bd8550c9 /gdb
parentf34652de0b68c4ee3050828b43a2839b852b5821 (diff)
downloadgdb-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.c5
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 ();
}