From 020255eb52ec215703f4ffc90a3a916c21fb36fc Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Fri, 10 Mar 2023 19:08:53 +0100 Subject: [PATCH] testsuite: Tweak check_fork_available for CRIS This takes care of the failing gcc.dg/torture/ftrapv-1.c and -ftrapv-2.c for cris-elf. For simplicity, assume simulators are the GNU simulator (in the gdb repo). But cris-elf is newlib, so a newlib target forking? Yes: the I/O, etc. interface to the simulator uses the Linux/CRIS ABI. * lib/target-supports.exp (check_fork_available): Don't signal true for CRIS running on a simulator. --- gcc/testsuite/lib/target-supports.exp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index a4fbc1998c7..84ac7371523 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2880,6 +2880,12 @@ proc check_fork_available {} { # tell as we're doing partial links for kernel modules. return 0 } + if { [istarget cris-*-*] } { + # Compiling and linking works, and an executable running e.g. + # gcc.dg/torture/ftrapv-1.c works on now-historical hardware, + # but the GNU simulator emits an error for the fork syscall. + return [check_effective_target_hw] + } return [check_function_available "fork"] }