From: Tom Tromey Date: Wed, 13 Nov 2024 15:49:53 +0000 (-0700) Subject: Don't put JIT_READER_DIR into help text X-Git-Tag: gdb-16-branchpoint~375 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=29e316d8b15f1f1874bb58d8cd8346629f4edcc4;p=thirdparty%2Fbinutils-gdb.git Don't put JIT_READER_DIR into help text The 80-column-help-string self-test can fail if gdb's install directory is too long, because the help for "jit-reader-load" includes JIT_READER_DIR. This help text is actually somewhat misleading, though. JIT_READER_DIR is not actually used directly -- instead the relocated variant is used. This patch adds a new "show jit-reader-directory" command and changes the help text to refer to this instead. I considered adding a "set" command as well, but since absolute paths are acceptable here, and since this is a very niche command anyway, I figured there was no need to bother. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32357 Reviewed-By: Kévin Le Gouguec Reviewed-By: Eli Zaretskii Approved-By: Andrew Burgess --- diff --git a/gdb/NEWS b/gdb/NEWS index 046daad0eae..f3c5d720b15 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -94,6 +94,10 @@ * New commands +show jit-reader-directory + Show the name of the directory that "jit-reader-load" uses for + relative file names. + set style line-number foreground COLOR set style line-number background COLOR set style line-number intensity VALUE diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 99720f1206e..b91b5d693ed 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -40047,6 +40047,10 @@ reporting an error. A new JIT reader can be loaded by first unloading the current one using @code{jit-reader-unload} and then invoking @code{jit-reader-load}. +@item show jit-reader-directory +This command will show the directory that is used by +@code{jit-reader-load} when a relative file name is specified. + @item jit-reader-unload Unload the currently loaded JIT reader. diff --git a/gdb/jit.c b/gdb/jit.c index 48be1c880c9..77d41bf86ba 100644 --- a/gdb/jit.c +++ b/gdb/jit.c @@ -28,6 +28,7 @@ #include "filenames.h" #include "frame-unwind.h" #include "cli/cli-cmds.h" +#include "cli/cli-style.h" #include "gdbcore.h" #include "inferior.h" #include "observable.h" @@ -1298,6 +1299,16 @@ jit_event_handler (gdbarch *gdbarch, objfile *jiter) } } +/* Implementation of "show jit-reader-directory". */ + +static void +show_jit_reader_directory (const char *args, int from_tty) +{ + gdb_printf (_("JIT reader directory is %ps.\n"), + styled_string (file_name_style.style (), + jit_reader_dir.c_str ())); +} + void _initialize_jit (); void _initialize_jit () @@ -1329,8 +1340,8 @@ _initialize_jit () Load FILE as debug info reader and unwinder for JIT compiled code.\n\ Usage: jit-reader-load FILE\n\ Try to load file FILE as a debug info reader (and unwinder) for\n\ -JIT compiled code. The file is loaded from " JIT_READER_DIR ",\n\ -relocated relative to the GDB executable if required.")); +JIT compiled code. If FILE is not an absolute file name, it is found\n\ +relative to a built-in directory. See \"show jit-reader-directory\".")); set_cmd_completer (c, deprecated_filename_completer); c = add_com ("jit-reader-unload", no_class, @@ -1339,5 +1350,11 @@ Unload the currently loaded JIT debug info reader.\n\ Usage: jit-reader-unload\n\n\ Do \"help jit-reader-load\" for info on loading debug info readers.")); set_cmd_completer (c, noop_completer); + + add_cmd ("jit-reader-directory", class_obscure, + show_jit_reader_directory, + _("Show the JIT reader directory.\n\ +This is the directory used by \"jit-reader-load\" when given\n\ +a relative file name."), &showlist); } } diff --git a/gdb/testsuite/gdb.base/jit-reader.exp b/gdb/testsuite/gdb.base/jit-reader.exp index 62f6af29ac1..2a96207346c 100644 --- a/gdb/testsuite/gdb.base/jit-reader.exp +++ b/gdb/testsuite/gdb.base/jit-reader.exp @@ -109,6 +109,10 @@ proc jit_reader_test {} { gdb_test_no_output "set debug jit 1" } + # Just test that this is installed and prints something. + gdb_test "show jit-reader-directory" \ + "JIT reader directory is .*\\." + gdb_test_no_output "jit-reader-load ${jit_reader_bin}" "jit-reader-load" gdb_run_cmd gdb_test "" "Program received signal SIGTRAP, .*" "expect SIGTRAP"