diff options
author | Tom de Vries <tdevries@suse.de> | 2024-12-20 06:16:55 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2024-12-20 06:16:55 +0100 |
commit | 45b4f0499cbea2ed0efb2e1e2719617a3734a9ab (patch) | |
tree | 1655d00aa664716cac0acf7ea8d1de12c0ec34b0 | |
parent | a426ba6b4aa6351f818e5591ac56ddadbfdeb17c (diff) | |
download | binutils-45b4f0499cbea2ed0efb2e1e2719617a3734a9ab.zip binutils-45b4f0499cbea2ed0efb2e1e2719617a3734a9ab.tar.gz binutils-45b4f0499cbea2ed0efb2e1e2719617a3734a9ab.tar.bz2 |
[gdb/testsuite] Use -nostdlib in gdb.linespec/explicit.exp
On openSUSE Leap 15.6 ppc64le-linux, with gdb.linespec/explicit.exp I run
into:
...
(gdb) b -source thread_pointer.h FAIL: $exp: complete after -source: tab complete "b -source thr"
Quit^M
...
The test-case already contains a related workaround:
...
# Get rid of symbols from shared libraries, otherwise
# "b -source thr<tab>" could find some system library's
# source.
gdb_test_no_output "nosharedlibrary"
...
but that doesn't work in this case because the debug info is in the executable
itself:
...
The File Name Table (offset 0xb5):
Entry Dir Time Size Name
1 0 0 0 abi-note.c
2 1 0 0 types.h
3 2 0 0 stdint-intn.h
4 2 0 0 stdint-uintn.h
5 3 0 0 elf.h
6 4 0 0 thread_pointer.h
...
due to debug info in some glibc object file.
Fix this by:
- using -nostdlib, ensuring only debug info from the three test-case sources
is present in the executable, and
- adding a _start wrapping main.
Tested on x86_64-linux and ppc64le-linux.
Reviewed-By: Keith Seitz <keiths@redhat.com>
PR testsuite/31229
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31229
-rw-r--r-- | gdb/testsuite/gdb.linespec/explicit.c | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.linespec/explicit.exp | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gdb/testsuite/gdb.linespec/explicit.c b/gdb/testsuite/gdb.linespec/explicit.c index 7d23216..957de50 100644 --- a/gdb/testsuite/gdb.linespec/explicit.c +++ b/gdb/testsuite/gdb.linespec/explicit.c @@ -69,3 +69,9 @@ main (void) return myfunction2 (j); } + +void +_start (void) +{ + main (); +} diff --git a/gdb/testsuite/gdb.linespec/explicit.exp b/gdb/testsuite/gdb.linespec/explicit.exp index e8ae10a..b257a98 100644 --- a/gdb/testsuite/gdb.linespec/explicit.exp +++ b/gdb/testsuite/gdb.linespec/explicit.exp @@ -20,8 +20,13 @@ load_lib completion-support.exp standard_testfile explicit.c explicit2.c 3explicit.c set exefile $testfile +set opts {} +lappend opts debug +lappend opts nowarnings +lappend opts additional_flags=-nostdlib + if {[prepare_for_testing "failed to prepare" $exefile \ - [list $srcfile $srcfile2 $srcfile3] {debug nowarnings}]} { + [list $srcfile $srcfile2 $srcfile3] $opts]} { return -1 } |