]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gdb/testsuite: introduce dwarf5 option to gdb_compile
authorGuinevere Larsen <blarsen@redhat.com>
Thu, 2 May 2024 16:57:47 +0000 (13:57 -0300)
committerGuinevere Larsen <guinevere@redhat.com>
Wed, 23 Oct 2024 17:16:37 +0000 (14:16 -0300)
A few tests on the testsuite require dwarf5 to work. Up until now, the
way to do this was to explicitly add the command line flag -gdwarf-5.
This isn't very portable, in case a compiler requires a different flag
to emit dwarf5.

This commit adds a new option to gdb_compile that would be able to add
the correct flag (if known) or error out in case we are unable to tell
which flag to use. It also changes the existing tests to use this
general option instead of hard coding -gdwarf-5.

Reviewed-by: Keith Seitz <keiths@redhat.com>
Approved-By: Tom Tromey <tom@tromey.com>
gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp
gdb/testsuite/gdb.dwarf2/dw5-rnglist-test.exp
gdb/testsuite/gdb.dwarf2/gdb-index-types-dwarf5.exp
gdb/testsuite/gdb.fortran/assumedrank.exp
gdb/testsuite/lib/gdb.exp

index 344c4abe4566545e2edf4087626e2bff3188d3a5..5078d0c2b9ae89551c69f9dda98f8041124dedd3 100644 (file)
@@ -19,7 +19,7 @@ set opts {}
 if [info exists COMPILE] {
     # make check RUNTESTFLAGS="gdb.arch/amd64-entry-value-param-dwarf5.exp COMPILE=1"
     standard_testfile .c .c
-    lappend opts optimize=-O2 additional_flags=-gdwarf-5
+    lappend opts optimize=-O2 dwarf5
 } else {
     require is_x86_64_m64_target
 }
index a6a99e8685808199ca4ab7a2c4ffe44ffb822dc0..a7ca334869ffe5fe5b2cb71452ba35787380d15d 100644 (file)
@@ -24,8 +24,7 @@ standard_testfile .cc
 # we let that be the test of whether the target supports it.
 
 if { [prepare_for_testing "failed to prepare" "${testfile}" \
-          $srcfile {debug c++ additional_flags=-gdwarf-5 \
-                        additional_flags=-O0}] } {
+          $srcfile {debug c++ dwarf5 additional_flags=-O0}] } {
     return -1
 }
 
index 540e770a3bf99fec4481bb224240b200515cfccc..b97b55468e43c758fdd20dcdf174668230948065 100644 (file)
@@ -17,7 +17,7 @@ standard_testfile
 
 set flags {}
 lappend flags {additional_flags=-fdebug-types-section}
-lappend flags {additional_flags=-gdwarf-5}
+lappend flags {dwarf5}
 
 if { [prepare_for_testing "failed to prepare" ${testfile} \
          $srcfile $flags] } {
index 957dfefc7c7d927e0b00104bf73d685bc95b77a1..32fd9d29ca7a9fee0fbebe1a88451486e4e02e30 100644 (file)
@@ -28,7 +28,7 @@ if { [test_compiler_info {gfortran-*} f90] &&
 }
 
 if {[prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
-        {debug f90 additional_flags=-gdwarf-5}]} {
+        {debug f90 dwarf5}]} {
     return -1
 }
 
index f0a89394b879d8d890a241ccd6b4baac59598fad..a3aaa5cecb04a338faaf4f146fe1bda018852bef 100644 (file)
@@ -5633,6 +5633,7 @@ proc quote_for_host { args } {
 #   - no-build-id: Ensure the final binary does not include a build-id.
 #   - column-info/no-column-info: Enable/Disable generation of column table
 #     information.
+#   - dwarf5: Force compilation with dwarf-5 debug information.
 #
 # And here are some of the not too obscure options understood by DejaGnu that
 # influence the compilation:
@@ -5893,6 +5894,13 @@ proc gdb_compile {source dest type options} {
                error "Option gno-column-info not supported by compiler."
            }
 
+       } elseif { $opt == "dwarf5" } {
+           if {[test_compiler_info {gcc-*}] \
+               || [test_compiler_info {clang-*}]} {
+               lappend new_options "additional_flags=-gdwarf-5"
+           } else {
+               error "No idea how to force DWARF-5 in this compiler"
+           }
         } else {
             lappend new_options $opt
         }