From: Tom de Vries Date: Mon, 13 Oct 2025 18:54:43 +0000 (+0200) Subject: [gdb/testsuite] Use expect_build_id_in_core_file a bit more X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=54603750398b63263fd7924677ab0fe0affc4bad;p=thirdparty%2Fbinutils-gdb.git [gdb/testsuite] Use expect_build_id_in_core_file a bit more 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 PR testsuite/33528 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=33528 --- diff --git a/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp b/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp index c85cfb1f837..83472f00bb0 100644 --- a/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp +++ b/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp @@ -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 } diff --git a/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp b/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp index 67d9237d43c..a22fa597602 100644 --- a/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp +++ b/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp @@ -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. diff --git a/gdb/testsuite/gdb.python/py-missing-objfile.exp b/gdb/testsuite/gdb.python/py-missing-objfile.exp index ce4dc76b71e..2cc7dc87926 100644 --- a/gdb/testsuite/gdb.python/py-missing-objfile.exp +++ b/gdb/testsuite/gdb.python/py-missing-objfile.exp @@ -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.