[v3,3/3] gdb/testsuite: introduce dwarf5 option to gdb_compile
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gdb_build--master-arm |
success
|
Build passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-arm |
success
|
Test passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 |
success
|
Test passed
|
Commit Message
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>
---
gdb/testsuite/gdb.arch/amd64-entry-value-param-dwarf5.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw5-rnglist-test.exp | 3 +--
gdb/testsuite/gdb.dwarf2/gdb-index-types-dwarf5.exp | 2 +-
gdb/testsuite/gdb.fortran/assumedrank.exp | 2 +-
gdb/testsuite/lib/gdb.exp | 8 ++++++++
5 files changed, 12 insertions(+), 5 deletions(-)
@@ -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
}
@@ -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
}
@@ -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] } {
@@ -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
}
@@ -5654,6 +5654,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:
@@ -5914,6 +5915,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
}