]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Use expect_build_id_in_core_file a bit more
authorTom de Vries <tdevries@suse.de>
Mon, 13 Oct 2025 18:54:43 +0000 (20:54 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 13 Oct 2025 18:54:43 +0000 (20:54 +0200)
Recent commit c1950dcc04c ("gdb/testsuite: fix failure from
gdb.python/py-corefile.exp") introduced proc expect_build_id_in_core_file,
which detects the problem that:
...
    ... some versions of the linker didn't place the build-id within the first
    page of an ELF.  As a result, the Linux kernel would not include the
    build-id in the generated core file, ...
...

Use this proc in a few more test-cases, to deal with the same problem.

Tested on x86_64-linux, openSUSE Tumbleweed with ld 2.43.1.

Approved-By: Andrew Burgess <aburgess@redhat.com>
PR testsuite/33528
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33528

gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp
gdb/testsuite/gdb.debuginfod/solib-with-soname.exp
gdb/testsuite/gdb.python/py-missing-objfile.exp

index c85cfb1f83709153df1ad9cf616c078e3f3fdefb..83472f00bb02ffd9f041190e94dde1a13e54e109 100644 (file)
@@ -82,6 +82,9 @@ if {[prepare_for_testing_full "build exec which loads the shared library" \
     return
 }
 
+require {expect_build_id_in_core_file $binfile2}
+require {expect_build_id_in_core_file $library_filename}
+
 if {![runto_main]} {
     return
 }
index 67d9237d43c6ad1b1631ca08f7433614acf0a1b1..a22fa5976025c2252f009a5074dc194991914eb3 100644 (file)
@@ -96,6 +96,10 @@ if { [build_executable "build executable" ${binfile} ${srcfile2} \
     return
 }
 
+require {expect_build_id_in_core_file $library_1_filename}
+require {expect_build_id_in_core_file $library_2_filename}
+require {expect_build_id_in_core_file $binfile}
+
 # If the board file is automatically splitting the debug information
 # into a separate file (e.g. the cc-with-gnu-debuglink.exp board) then
 # this test isn't going to work.
index ce4dc76b71e5597a67584daec2370fd3980d2428..2cc7dc8792667e7e2f153dcb05729c377cf2e09b 100644 (file)
@@ -183,6 +183,11 @@ with_test_prefix "no objfiles available" {
     check_loaded_debug false false
 }
 
+# The following tests assume that the build-ids of binfile and libfile can be
+# found in the core file.
+require {expect_build_id_in_core_file $binfile}
+require {expect_build_id_in_core_file $libfile}
+
 with_test_prefix "all objfiles available" {
     # Another sanity check that GDB can find the files via the
     # debug-file-directory.