Explicitly disable some vxworks-missing features in the testsuite, that
the current feature tests detect as present.

Regstrapped on x86_64-linux-gnu, and tested with -x-arm-wrs-vxworks7r2.
Ok to install?


from Olivier Hainque <hain...@adacore.com>
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 |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index 11343d0192fcb..6b1d13b105da7 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -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"]
 }
 


-- 
Alexandre Oliva, happy hacker  https://FSFLA.org/blogs/lxo/
   Free Software Activist         GNU Toolchain Engineer
        Vim, Vi, Voltei pro Emacs -- GNUlius Caesar

Reply via email to