diff options
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/compressed1d.d | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-elf/elf.exp | 13 |
3 files changed, 23 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 688a442..035e6aa 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2021-01-19 Nelson Chu <nelson.chu@sifive.com> + + * testsuite/ld-elf/elf.exp (riscv_little_endian): Added. Return true + if target is riscv little endian. Otherwise, return false. + * testsuite/ld-elf/compressed1d.d: Only xfail the riscv little endian + targets by [riscv_little_endian]. + 2021-01-18 Alan Modra <amodra@gmail.com> PR 26378 diff --git a/ld/testsuite/ld-elf/compressed1d.d b/ld/testsuite/ld-elf/compressed1d.d index df7ce34..9d891c1 100644 --- a/ld/testsuite/ld-elf/compressed1d.d +++ b/ld/testsuite/ld-elf/compressed1d.d @@ -3,10 +3,11 @@ #ld: -r --compress-debug-sections=zlib-gnu #readelf: -SW #xfail: [uses_genelf] -#xfail: riscv*-*-* +#xfail: [riscv_little_endian] # Not all ELF targets use the elf.em emulation... # RISC-V has linker relaxations that delete code, so text label subtractions -# do not get resolved at assembly time, which results in a compressed section. +# do not get resolved at assembly time, which results in a compressed section +# for little endian targets; but it is uncompressed for big endian targets. #failif #... diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp index 7179cec..e98bffc 100644 --- a/ld/testsuite/ld-elf/elf.exp +++ b/ld/testsuite/ld-elf/elf.exp @@ -25,6 +25,19 @@ if ![is_elf_format] { return } +# Return true if target is riscv little endian. +# xfail the riscv little endain targets for the compressed1d1 test; +# The riscv big endian targets and others should pass. +proc riscv_little_endian { } { + if { [istarget "riscv32-*-*"] + || [istarget "riscv64-*-*"] + || [istarget "riscv32le-*-*"] + || [istarget "riscv64le-*-*"] } { + return 1 + } + return 0 +} + set old_ldflags $LDFLAGS if { [istarget spu*-*-*] } { set LDFLAGS "$LDFLAGS --local-store 0:0" |