diff options
Diffstat (limited to 'ld/testsuite')
-rw-r--r-- | ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-riscv-elf/pr31179-r.d | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-riscv-elf/pr31179.d | 11 | ||||
-rw-r--r-- | ld/testsuite/ld-riscv-elf/pr31179.s | 13 |
4 files changed, 36 insertions, 0 deletions
diff --git a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp index 947a266..1d793da 100644 --- a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp +++ b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp @@ -173,6 +173,8 @@ if [istarget "riscv*-*-*"] { run_dump_test "attr-phdr" run_dump_test "relax-max-align-gp" run_dump_test "uleb128" + run_dump_test "pr31179" + run_dump_test "pr31179-r" run_ld_link_tests [list \ [list "Weak reference 32" "-T weakref.ld -m[riscv_choose_ilp32_emul]" "" \ "-march=rv32i -mabi=ilp32" {weakref32.s} \ diff --git a/ld/testsuite/ld-riscv-elf/pr31179-r.d b/ld/testsuite/ld-riscv-elf/pr31179-r.d new file mode 100644 index 0000000..cd5c98e --- /dev/null +++ b/ld/testsuite/ld-riscv-elf/pr31179-r.d @@ -0,0 +1,10 @@ +#source: pr31179.s +#as: +#readelf: -Wr + +Relocation section '.rela.text' at .* +[ ]+Offset[ ]+Info[ ]+Type[ ]+.* +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_RISCV_SET_ULEB128[ ]+[0-9a-f]+[ ]+bar \+ 1 +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_RISCV_SUB_ULEB128[ ]+[0-9a-f]+[ ]+foo \+ 0 +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_RISCV_SET_ULEB128[ ]+[0-9a-f]+[ ]+bar \+ 1 +[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_RISCV_SUB_ULEB128[ ]+[0-9a-f]+[ ]+foo \+ 1 diff --git a/ld/testsuite/ld-riscv-elf/pr31179.d b/ld/testsuite/ld-riscv-elf/pr31179.d new file mode 100644 index 0000000..a3228db --- /dev/null +++ b/ld/testsuite/ld-riscv-elf/pr31179.d @@ -0,0 +1,11 @@ +#source: pr31179.s +#as: +#ld: --check-uleb128 +#objdump: -sj .text +#warning: .*R_RISCV_SUB_ULEB128 with non-zero addend, please rebuild by binutils 2.42 or up + +.*:[ ]+file format .* + +Contents of section .text: + +[ ]+[0-9a-f]+[ ]+00000303[ ]+.* diff --git a/ld/testsuite/ld-riscv-elf/pr31179.s b/ld/testsuite/ld-riscv-elf/pr31179.s new file mode 100644 index 0000000..5c4b4b5 --- /dev/null +++ b/ld/testsuite/ld-riscv-elf/pr31179.s @@ -0,0 +1,13 @@ +.globl _start +_start: + +foo: +.2byte 0 +bar: + +.uleb128 bar - foo + 1 + +reloc: +.reloc reloc, R_RISCV_SET_ULEB128, bar + 1 +.reloc reloc, R_RISCV_SUB_ULEB128, foo + 1 +.byte 0x0 |