aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-12-20 06:16:55 +0100
committerTom de Vries <tdevries@suse.de>2024-12-20 06:16:55 +0100
commit45b4f0499cbea2ed0efb2e1e2719617a3734a9ab (patch)
tree1655d00aa664716cac0acf7ea8d1de12c0ec34b0
parenta426ba6b4aa6351f818e5591ac56ddadbfdeb17c (diff)
downloadbinutils-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.c6
-rw-r--r--gdb/testsuite/gdb.linespec/explicit.exp7
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
}