aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2023-02-08 16:47:34 +0000
committerAndrew Burgess <aburgess@redhat.com>2023-02-11 17:14:33 +0000
commitb9c05fc03d313d8505df2c1265481faf6594b62a (patch)
tree4da2f3f50ab3707b46b0ae7a0cc095854c442578
parentaf0d0f34d8bf7482e598308b54e7ba0ae9b0c349 (diff)
downloadgdb-b9c05fc03d313d8505df2c1265481faf6594b62a.zip
gdb-b9c05fc03d313d8505df2c1265481faf6594b62a.tar.gz
gdb-b9c05fc03d313d8505df2c1265481faf6594b62a.tar.bz2
gdb: remove unnecessary 'dir' commands from gdb-gdb.gdb script
While debugging GDB I used 'show directories' and spotted lots of entries that didn't make much sense. Here are all the entries that are in my directories list: /tmp/binutils-gdb/build /tmp/binutils-gdb/build/../../src/gdb /tmp/binutils-gdb/build/../../src/gdb/../bfd /tmp/binutils-gdb/build/../../src/gdb/../libiberty $cdir $cwd Notice the second, third, and fourth entries in this list, these should really be: /tmp/binutils-gdb/build/../src/gdb /tmp/binutils-gdb/build/../src/gdb/../bfd /tmp/binutils-gdb/build/../src/gdb/../libiberty The problem is because I generally run everything from the top level build directory, not the gdb/ sub-directory, thus, I start GDB like: ./gdb/gdb --data-directory ./gdb/data-directory If run GDB under GDB, then I end up loading the gdb/gdb-gdb.gdb script, which contains these lines: dir ../../src/gdb/../libiberty dir ../../src/gdb/../bfd dir ../../src/gdb dir . These commands only make sense when running within the gdb/ sub-directory. However, my debugging experience doesn't seem to be degraded at all, I can still see the GDB source code just fine; which is because the directory list still contains $cdir. The build/gdb/gdb-gdb.gdb script is created from the src/gdb/gdb-gdb.gdb.in template, which includes the automake @srcdir@ markers. The 'dir' commands have mostly been around since the sourceware repository was first created, though this commit 67f0714670383a did reorder some of the 'dir' commands, which would seem to indicate these commands were important to some people, at some time. One possible fix would be to replace @srcdir@ with @abs_srcdir@, this would ensure that the entries added were all valid, no matter the user's current directory when debugging GDB. However... I'd like to propose that we instead remove all the extra directories completely. My hope is that, with more recent tools, the debug information should allow us to correctly find all of the source files without having to add any extra 'dir' entries. Obviously, commit 67f0714670383a does make me a little nervous, but the gdb-gdb.gdb script isn't something a non-maintainer will be using, so I think we can afford to be a little more aggressive here. If it turns out the 'dir' entries are needed then we can add them back, but actually document why they are needed. Plus, when we add them back we will use @abs_srcdir@ instead of @srcdir@. Reviewed-By: Tom Tromey <tom@tromey.com>
-rw-r--r--gdb/gdb-gdb.gdb.in5
1 files changed, 0 insertions, 5 deletions
diff --git a/gdb/gdb-gdb.gdb.in b/gdb/gdb-gdb.gdb.in
index 8d97c95..b9fd457 100644
--- a/gdb/gdb-gdb.gdb.in
+++ b/gdb/gdb-gdb.gdb.in
@@ -16,11 +16,6 @@ if !$gdb_init_done
return
end
- dir @srcdir@/../libiberty
- dir @srcdir@/../bfd
- dir @srcdir@
- dir .
-
# Commands below are not fully compatible with wrapping into an 'if' block.
end