[binutils-gdb] gas: scfi: fix failing test on Solaris2
Indu Bhagat
ibhagat@sourceware.org
Fri Feb 9 07:23:01 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=272b9416f3ce062de0c28f8dfa2a4112993dd77c
commit 272b9416f3ce062de0c28f8dfa2a4112993dd77c
Author: Indu Bhagat <indu.bhagat@oracle.com>
Date: Thu Feb 8 23:10:27 2024 -0800
gas: scfi: fix failing test on Solaris2
It has been observed that the run of scfi-unsupported-1 test with --x32
arg on a Solaris2 x86_64 system fails:
Executing on host: sh -c {../as-new --x32 --scfi=experimental \
<...>/scfi-unsupported-1.s 2>&1} /dev/null dump.out (timeout = 300)
Assembler messages:
Fatal error: no compiled in support for 32bit x86_64
regexp_diff match failure
regexp "^Fatal error: SCFI is not supported for this ABI$"
line "Fatal error: no compiled in support for 32bit x86_64"
FAIL: x86_64 scfi-unsupported-1
Fix the above by adding a check for --x32 support before running the
test. While at it, also include a similar check for --32 support.
gas/testsuite/
* gas/scfi/x86_64/scfi-x86-64.exp: Add gas_x32_check and
gas_32_check. Conditionalize the execution of affected
testcases.
Diff:
---
gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
index 9c76974fefe..5324af386f8 100644
--- a/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
+++ b/gas/testsuite/gas/scfi/x86_64/scfi-x86-64.exp
@@ -14,6 +14,22 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+proc gas_32_check { } {
+ global NM
+ global NMFLAGS
+
+ set status [gas_host_run "$NM $NMFLAGS --help" ""]
+ return [regexp "targets:.*i386" [lindex $status 1]];
+}
+
+proc gas_x32_check { } {
+ global NM
+ global NMFLAGS
+
+ set status [gas_host_run "$NM $NMFLAGS --help" ""]
+ return [regexp "targets:.*elf32-x86-64" [lindex $status 1]];
+}
+
if { ![is_elf_format] } then {
return
}
@@ -40,8 +56,12 @@ if { ([istarget "x86_64-*-*"] && ![istarget "x86_64-*-linux*-gnux32"]) } then {
run_list_test "scfi-fp-diag-2" "--scfi=experimental"
run_list_test "scfi-diag-2" "--scfi=experimental"
- run_list_test "scfi-unsupported-1" "--32 --scfi=experimental"
- run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
+ if { [gas_32_check] } then {
+ run_list_test "scfi-unsupported-1" "--32 --scfi=experimental"
+ }
+ if { [gas_x32_check] } then {
+ run_list_test "scfi-unsupported-1" "--x32 --scfi=experimental"
+ }
run_list_test "scfi-unsupported-insn-1" "--scfi=experimental"
run_list_test "scfi-unsupported-2" "--scfi=experimental"
run_list_test "scfi-unsupported-3" "--scfi=experimental"
More information about the Binutils-cvs
mailing list