From: Palmer Dabbelt Date: Tue, 17 Oct 2017 17:51:38 +0000 (-0700) Subject: RISC-V: Mark unsupported gas testcases X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=8dfa5d5a6389b7f0fdd7baaedc5f316f05debf63;p=deliverable%2Fbinutils-gdb.git 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-18 Palmer Dabbelt * 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. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index a38ffa36c9..cb90c994cd 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2017-10-18 Palmer Dabbelt + + * 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 PR gas/22304 diff --git a/gas/testsuite/gas/all/align.d b/gas/testsuite/gas/all/align.d index dec2168aa6..eb08d8ddcd 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 93e31dab4a..6a68bccdbd 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 1e581c2695..27937fece2 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. +#not-target : riscv*-*-* .*: .* diff --git a/gas/testsuite/gas/all/sleb128-2.d b/gas/testsuite/gas/all/sleb128-2.d index cce0b4c033..377aa1f217 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. +#not-target : riscv*-*-* .*: .* diff --git a/gas/testsuite/gas/all/sleb128-4.d b/gas/testsuite/gas/all/sleb128-4.d index 89b9565301..49eebbbb4d 100644 --- a/gas/testsuite/gas/all/sleb128-4.d +++ b/gas/testsuite/gas/all/sleb128-4.d @@ -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*-*-* .*: .* diff --git a/gas/testsuite/gas/all/sleb128-5.d b/gas/testsuite/gas/all/sleb128-5.d index 0accfb5a6e..b8298f5291 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. +#not-target : riscv*-*-* .*: .* diff --git a/gas/testsuite/gas/all/sleb128-7.d b/gas/testsuite/gas/all/sleb128-7.d index 6fcbdefe6e..84aa5f16c3 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. +#not-target: riscv*-*-* .*: .* diff --git a/gas/testsuite/gas/elf/section11.d b/gas/testsuite/gas/elf/section11.d index c1043db7a0..a92ad5acf7 100644 --- a/gas/testsuite/gas/elf/section11.d +++ b/gas/testsuite/gas/elf/section11.d @@ -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