RISC-V: Mark unsupported gas testcases
authorPalmer Dabbelt <palmer@dabbelt.com>
Tue, 17 Oct 2017 17:51:38 +0000 (10:51 -0700)
committerPalmer Dabbelt <palmer@dabbelt.com>
Wed, 18 Oct 2017 20:16:42 +0000 (13:16 -0700)
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-18  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/ChangeLog
gas/testsuite/gas/all/align.d
gas/testsuite/gas/all/gas.exp
gas/testsuite/gas/all/relax.d
gas/testsuite/gas/all/sleb128-2.d
gas/testsuite/gas/all/sleb128-4.d
gas/testsuite/gas/all/sleb128-5.d
gas/testsuite/gas/all/sleb128-7.d
gas/testsuite/gas/elf/section11.d

index a38ffa3..cb90c99 100644 (file)
@@ -1,3 +1,14 @@
+2017-10-18  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.
+
 2017-10-18  Nick Clifton  <nickc@redhat.com>
 
        PR gas/22304
index dec2168..eb08d8d 100644 (file)
@@ -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.
 
index 93e31da..6a68bcc 100644 (file)
@@ -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"
index 1e581c2..27937fe 100644 (file)
@@ -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.
+#not-target : riscv*-*-*
 
 .*: .*
 
index cce0b4c..377aa1f 100644 (file)
@@ -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.
+#not-target : riscv*-*-*
 
 .*: .*
 
index 89b9565..49eebbb 100644 (file)
@@ -1,6 +1,10 @@
 #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.
+#not-target: riscv*-*-*
 
 .*: .*
 
index 0accfb5..b8298f5 100644 (file)
@@ -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.
+#not-target : riscv*-*-*
 
 .*: .*
 
index 6fcbdef..84aa5f1 100644 (file)
@@ -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.
+#not-target: riscv*-*-*
 
 .*: .*
 
index c1043db..a92ad5a 100644 (file)
@@ -3,6 +3,9 @@
 #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.
+#not-target: riscv*-*-*
 
 #...
   \[ .\] .text[        ]+PROGBITS[     ]+0+00 0+[0-9a-f]+ 0+0(1|4|5) 00  AX  0   0 16