Add missing vxworks filters to lib/target-supports.exp functions
authorOlivier Hainque <hainque@adacore.com>
Fri, 1 Jan 2021 00:37:42 +0000 (21:37 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Fri, 1 Jan 2021 04:46:34 +0000 (01:46 -0300)
Explicitly disable some vxworks-missing features in the testsuite, that
the current feature tests detect as present.

for  gcc/testsuite/ChangeLog

* lib/target-supports.exp (check_weak_available,
check_fork_available, check_effective_target_lto,
check_effective_target_mempcpy): Add vxworks filters.

gcc/testsuite/lib/target-supports.exp

index 11343d0192fcb7d38c3b994c0a6062c2ab79d075..7cad03556c230d0a76f47f38f8767244a259d8c9 100644 (file)
@@ -326,6 +326,12 @@ proc check_weak_available { } {
        return 0
     }
 
+    # VxWorks hardly supports it (vx7 RTPs only)
+
+    if { [istarget *-*-vxworks*] } {
+       return 0
+    }
+
     # ELF and ECOFF support it. a.out does with gas/gld but may also with
     # other linkers, so we should try it
 
@@ -2606,6 +2612,11 @@ proc check_function_available { function } {
 # Returns true iff "fork" is available on the target system.
 
 proc check_fork_available {} {
+    if { [istarget *-*-vxworks*] } {
+       # VxWorks doesn't have fork but our way to test can't
+       # tell as we're doing partial links for kernel modules.
+       return 0
+     }    
     return [check_function_available "fork"]
 }
 
@@ -9295,6 +9306,11 @@ proc check_effective_target_gld { } {
 # (LTO) support.
 
 proc check_effective_target_lto { } {
+    if { [istarget *-*-vxworks*] } {
+       # No LTO on VxWorks, with kernel modules
+       # built with partial links
+       return 0
+    }
     if { [istarget nvptx-*-*]
         || [istarget amdgcn-*-*] } {
        return 0;
@@ -9514,6 +9530,11 @@ proc check_effective_target_run_expensive_tests { } {
 # Returns 1 if "mempcpy" is available on the target system.
 
 proc check_effective_target_mempcpy {} {
+    if { [istarget *-*-vxworks*] } {
+       # VxWorks doesn't have mempcpy but our way to test fails
+       # to detect as we're doing partial links for kernel modules.
+       return 0
+     }
     return [check_function_available "mempcpy"]
 }