From: Tom de Vries Date: Mon, 23 Aug 2021 10:08:25 +0000 (+0200) Subject: [gdb/testsuite] Use compiler-generated instead of gas-generated stabs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=74cdc3e0888f1ffc3973a4826e85dd32e5a51037;p=binutils-gdb.git [gdb/testsuite] Use compiler-generated instead of gas-generated stabs The test-case gdb.dwarf2/dw2-ranges.exp is the only one in the gdb testsuite that uses gas-generated stabs. While the use seems natural alongside the use of gas-generated dwarf in the same test-case, there are a few known issues, filed on the gdb side as: - PR symtab/12497 - "stabs: PIE relocation does not work" - PR symtab/28221 - "[readnow, stabs] FAIL: gdb.dwarf2/dw2-ranges.exp: \ info line func" and on the gas side as: - PR gas/28233 - "[gas, --gstabs] Generate stabs more similar to gcc" The test-case contains a KFAIL for PR12497, but it's outdated and fails to trigger. The intention of the test-case is to test gas-generated dwarf, and using gcc-generated stabs instead of gas-generated stabs works fine. Supporting compiler-generated stabs is already a corner-case for gdb, and there's no current commitment/incentive to support/workaround gas-generated stabs, which can be considered a corner-case of a corner-case. Work around these problem by using compiler-generated stabs in the test-case. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-08-22 Tom de Vries * gdb.dwarf2/dw2-ranges.exp: Use compiler-generated stabs. --- diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ranges.exp b/gdb/testsuite/gdb.dwarf2/dw2-ranges.exp index 8566e0034cf..288fc941afa 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-ranges.exp +++ b/gdb/testsuite/gdb.dwarf2/dw2-ranges.exp @@ -35,7 +35,6 @@ if !$gcc_compiled { standard_testfile .c -2.c -3.c set asmfile [standard_output_file ${testfile}.s] set asmfile2 [standard_output_file ${testfile}2.s] -set asmfile3 [standard_output_file ${testfile}3.s] set objfile [standard_output_file ${testfile}.o] set objfile2 [standard_output_file ${testfile}2.o] set objfile3 [standard_output_file ${testfile}3.o] @@ -55,8 +54,7 @@ if {[gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${asmfile2}" assembly {}] != # STABS compilation is intentional as it tests the STABS lookup where is no # partial_symtab->psymtabs_addrmap supported for that CU (Compilation Unit) in # a file containing psymtabs_addrmap-supporting DWARF CUs. -if {[gdb_compile "${srcdir}/${subdir}/${srcfile3}" "${asmfile3}" assembly {}] != "" - || [gdb_compile "${asmfile3}" "${objfile3}" object {additional_flags=-gstabs}] != "" } { +if {[gdb_compile "${srcdir}/${subdir}/${srcfile3}" "${objfile3}" object {additional_flags=-gstabs}] != "" } { return -1 } @@ -82,12 +80,5 @@ gdb_test "info line func" "Line \[0-9\]* of .* starts at address .* and ends at gdb_test "info line main2" "Line \[0-9\]* of .* starts at address .* and ends at .*" gdb_test "info line func2" "Line \[0-9\]* of .* starts at address .* and ends at .*" -set test "info line main3" -gdb_test_multiple $test $test { - -re "Line \[0-9\]* of .* starts at address .* and ends at .*\r\n$gdb_prompt $" { - pass $test - } - -re "Line \[0-9\]* of .* is at address .* but contains no code\\.\r\n$gdb_prompt $" { - kfail symtab/12497 $test - } -} +gdb_test "info line main3" \ + "Line \[0-9\]* of .* starts at address .* and ends at .*"