This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 2/2] RISC-V: Mark unsupported gas testcases


There are individual comments that explain why each test isn't
supported, but the vast majority of them are due to RISC-V's aggressive
linker relaxation.  The SLEB test cases should eventually be supported,
but the remaining ones probably won't ever be.

2017-10-16  Palmer Dabbelt  <palmer@dabbelt.com>

        * testsuite/gas/all/align.d: Mark as unsupported on RISC-V.
        testsuite/gas/all/relax.d: Likewise.
        testsuite/gas/all/sleb128-2.d: Likewise.
        testsuite/gas/all/sleb128-4.d: Likewise.
        testsuite/gas/all/sleb128-5.d: Likewise.
        testsuite/gas/all/sleb128-7.d: Likewise.
        testsuite/gas/elf/section11.d: Likewise.
        testsuite/gas/all/gas.exp (diff1.s): Likewise.
---
 gas/testsuite/gas/all/align.d     | 4 +++-
 gas/testsuite/gas/all/gas.exp     | 1 +
 gas/testsuite/gas/all/relax.d     | 4 ++++
 gas/testsuite/gas/all/sleb128-2.d | 4 ++++
 gas/testsuite/gas/all/sleb128-4.d | 5 ++++-
 gas/testsuite/gas/all/sleb128-5.d | 4 ++++
 gas/testsuite/gas/all/sleb128-7.d | 4 ++++
 gas/testsuite/gas/elf/section11.d | 4 +++-
 8 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/gas/testsuite/gas/all/align.d b/gas/testsuite/gas/all/align.d
index dec2168aa6f0..eb08d8ddcda7 100644
--- a/gas/testsuite/gas/all/align.d
+++ b/gas/testsuite/gas/all/align.d
@@ -2,7 +2,9 @@
 #name: align
 # The RX port will always replace zeros in any aligned area with NOPs,
 # even if the user requested that they filled with zeros.
-#not-target: m32c-* rx-*
+# RISC-V handles alignment via relaxation and therefor won't have object files
+# with the expected alignment.
+#not-target: m32c-* riscv*-* rx-*
 
 # Test the alignment pseudo-op.
 
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index b5b0bebbf35a..38df380991b3 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -63,6 +63,7 @@ if {    ![istarget alpha*-*-*vms*]
      && ![istarget microblaze-*-*]
      && ![istarget mn10300-*-*]
      && ![istarget msp430*-*-*]
+     && ![istarget riscv*-*-*]
      && ![istarget rl78-*-*]
      && ![istarget rx-*-*] } then {
     gas_test_error "diff1.s" "" "difference of two undefined symbols"
diff --git a/gas/testsuite/gas/all/relax.d b/gas/testsuite/gas/all/relax.d
index 1e581c2695b0..08a9be178cc6 100644
--- a/gas/testsuite/gas/all/relax.d
+++ b/gas/testsuite/gas/all/relax.d
@@ -1,5 +1,9 @@
 #objdump : -s -j .data -j "\$DATA\$"
 #name : relax .uleb128
+# RISC-V doesn't support .sleb operands that are the difference of two symbols
+# because symbol values are not known until after linker relaxation has been
+# performed.
+#skip : riscv*-*-*
 
 .*: .*
 
diff --git a/gas/testsuite/gas/all/sleb128-2.d b/gas/testsuite/gas/all/sleb128-2.d
index cce0b4c0334a..afffbed2a673 100644
--- a/gas/testsuite/gas/all/sleb128-2.d
+++ b/gas/testsuite/gas/all/sleb128-2.d
@@ -1,5 +1,9 @@
 #objdump : -s -j .data -j "\$DATA\$"
 #name : .sleb128 tests (2)
+# RISC-V doesn't support .sleb operands that are the difference of two symbols
+# because symbol values are not known until after linker relaxation has been
+# performed.
+#skip : riscv*-*-*
 
 .*: .*
 
diff --git a/gas/testsuite/gas/all/sleb128-4.d b/gas/testsuite/gas/all/sleb128-4.d
index 89b956530186..7a881cc4c77e 100644
--- a/gas/testsuite/gas/all/sleb128-4.d
+++ b/gas/testsuite/gas/all/sleb128-4.d
@@ -1,6 +1,9 @@
 #objdump : -s -j .data -j "\$DATA\$"
 #name : .sleb128 tests (4)
-#skip: msp430*-*-*
+# RISC-V doesn't support .sleb operands that are the difference of two symbols
+# because symbol values are not known until after linker relaxation has been
+# performed.
+#skip: msp430*-*-* riscv*-*-*
 
 .*: .*
 
diff --git a/gas/testsuite/gas/all/sleb128-5.d b/gas/testsuite/gas/all/sleb128-5.d
index 0accfb5a6e88..1ed21344ce16 100644
--- a/gas/testsuite/gas/all/sleb128-5.d
+++ b/gas/testsuite/gas/all/sleb128-5.d
@@ -1,5 +1,9 @@
 #objdump : -s -j .data -j "\$DATA\$"
 #name : .sleb128 tests (5)
+# RISC-V doesn't support .sleb operands that are the difference of two symbols
+# because symbol values are not known until after linker relaxation has been
+# performed.
+#skip : riscv*-*-*
 
 .*: .*
 
diff --git a/gas/testsuite/gas/all/sleb128-7.d b/gas/testsuite/gas/all/sleb128-7.d
index 6fcbdefe6e93..62c545843f20 100644
--- a/gas/testsuite/gas/all/sleb128-7.d
+++ b/gas/testsuite/gas/all/sleb128-7.d
@@ -1,5 +1,9 @@
 #objdump : -s -j .data -j "\$DATA\$"
 #name : .sleb128 tests (7)
+# RISC-V doesn't support .sleb operands that are the difference of two symbols
+# because symbol values are not known until after linker relaxation has been
+# performed.
+#skip: riscv*-*-*
 
 .*: .*
 
diff --git a/gas/testsuite/gas/elf/section11.d b/gas/testsuite/gas/elf/section11.d
index c1043db7a0b5..878a483fe830 100644
--- a/gas/testsuite/gas/elf/section11.d
+++ b/gas/testsuite/gas/elf/section11.d
@@ -2,7 +2,9 @@
 #readelf: -S --wide
 #name: Disabling section padding
 # The RX port uses non standard section names.
-#skip: rx-*-*
+# RISC-V handles alignment via linker relaxation, so object files don't have
+# the expected alignment.
+#skip: rx-*-* riscv*-*-*
 
 #...
   \[ .\] .text[ 	]+PROGBITS[ 	]+0+00 0+[0-9a-f]+ 0+0(1|4|5) 00  AX  0   0 16
-- 
2.13.6


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]