From: Lulu Cai Date: Thu, 7 Mar 2024 03:09:14 +0000 (+0800) Subject: LoongArch: Fix gas and ld test cases X-Git-Tag: gdb-15-branchpoint~741 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d8915f27ebb5a794c8ebbebe8ebf1374e2acf629;p=thirdparty%2Fbinutils-gdb.git LoongArch: Fix gas and ld test cases * After adding the old LE relax, all old LE relocations will have an R_LARCH_RELAX relocation. Fix the gas test case failure caused by the implementation of the old LE relax. * loongarch64-elf does not support pie and -z norelro options, removed in test files. --- diff --git a/gas/testsuite/gas/loongarch/relocs_32.d b/gas/testsuite/gas/loongarch/relocs_32.d index 3e1bb62e263..96ef2800a51 100644 --- a/gas/testsuite/gas/loongarch/relocs_32.d +++ b/gas/testsuite/gas/loongarch/relocs_32.d @@ -30,8 +30,10 @@ Disassembly of section .text: 24: R_LARCH_GOT_LO12 .L1 28: 14000004 lu12i.w \$a0, 0 28: R_LARCH_TLS_LE_HI20 TLSL1 + 28: R_LARCH_RELAX \*ABS\* 2c: 03800085 ori \$a1, \$a0, 0x0 2c: R_LARCH_TLS_LE_LO12 TLSL1 + 2c: R_LARCH_RELAX \*ABS\* 30: 1a000004 pcalau12i \$a0, 0 30: R_LARCH_TLS_IE_PC_HI20 TLSL1 34: 02c00005 li.d \$a1, 0 diff --git a/gas/testsuite/gas/loongarch/relocs_64.d b/gas/testsuite/gas/loongarch/relocs_64.d index 631137eb174..35dde02f7fc 100644 --- a/gas/testsuite/gas/loongarch/relocs_64.d +++ b/gas/testsuite/gas/loongarch/relocs_64.d @@ -48,12 +48,16 @@ Disassembly of section .text: 48: R_LARCH_GOT64_HI12 .L1 4c: 14000004 lu12i.w \$a0, 0 4c: R_LARCH_TLS_LE_HI20 TLSL1 + 4c: R_LARCH_RELAX \*ABS\* 50: 03800085 ori \$a1, \$a0, 0x0 50: R_LARCH_TLS_LE_LO12 TLSL1 + 50: R_LARCH_RELAX \*ABS\* 54: 16000004 lu32i.d \$a0, 0 54: R_LARCH_TLS_LE64_LO20 TLSL1 + 54: R_LARCH_RELAX \*ABS\* 58: 03000085 lu52i.d \$a1, \$a0, 0 58: R_LARCH_TLS_LE64_HI12 TLSL1 + 58: R_LARCH_RELAX \*ABS\* 5c: 1a000004 pcalau12i \$a0, 0 5c: R_LARCH_TLS_IE_PC_HI20 TLSL1 60: 02c00005 li.d \$a1, 0 diff --git a/ld/testsuite/ld-loongarch-elf/desc-le-norelax.d b/ld/testsuite/ld-loongarch-elf/desc-le-norelax.d index 5a53245ad7f..43749f1b819 100644 --- a/ld/testsuite/ld-loongarch-elf/desc-le-norelax.d +++ b/ld/testsuite/ld-loongarch-elf/desc-le-norelax.d @@ -1,5 +1,5 @@ #as: -#ld: -z norelro -e0 --no-relax +#ld: -e0 --no-relax #objdump: -dr #skip: loongarch32-*-* diff --git a/ld/testsuite/ld-loongarch-elf/desc-le-relax.d b/ld/testsuite/ld-loongarch-elf/desc-le-relax.d index 03b5535edf8..71a540fda30 100644 --- a/ld/testsuite/ld-loongarch-elf/desc-le-relax.d +++ b/ld/testsuite/ld-loongarch-elf/desc-le-relax.d @@ -1,5 +1,5 @@ #as: -#ld: -z norelro -e0 +#ld: -e0 #objdump: -dr -M no-aliases #skip: loongarch32-*-* diff --git a/ld/testsuite/ld-loongarch-elf/ie-le-norelax.d b/ld/testsuite/ld-loongarch-elf/ie-le-norelax.d index 81d78ca3245..0221b495d68 100644 --- a/ld/testsuite/ld-loongarch-elf/ie-le-norelax.d +++ b/ld/testsuite/ld-loongarch-elf/ie-le-norelax.d @@ -1,5 +1,5 @@ #as: -#ld: -z norelro -e0 --no-relax +#ld: -e0 --no-relax #objdump: -dr #skip: loongarch32-*-* diff --git a/ld/testsuite/ld-loongarch-elf/ie-le-relax.d b/ld/testsuite/ld-loongarch-elf/ie-le-relax.d index 03b5535edf8..71a540fda30 100644 --- a/ld/testsuite/ld-loongarch-elf/ie-le-relax.d +++ b/ld/testsuite/ld-loongarch-elf/ie-le-relax.d @@ -1,5 +1,5 @@ #as: -#ld: -z norelro -e0 +#ld: -e0 #objdump: -dr -M no-aliases #skip: loongarch32-*-* diff --git a/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp b/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp index 161cc1a4d10..507b244869c 100644 --- a/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp +++ b/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp @@ -133,6 +133,10 @@ if [istarget "loongarch64-*-*"] { run_dump_test "desc-relax" } + if [check_pie_support] { + run_dump_test "pie_discard" + } + run_dump_test "max_imm_b16" run_dump_test "max_imm_b21" run_dump_test "max_imm_b26" @@ -145,7 +149,6 @@ if [istarget "loongarch64-*-*"] { run_dump_test "underflow_b21" run_dump_test "underflow_b26" run_dump_test "underflow_pcrel20" - run_dump_test "pie_discard" run_dump_test "desc-le-norelax" run_dump_test "desc-le-relax" run_dump_test "ie-le-norelax" diff --git a/ld/testsuite/ld-loongarch-elf/macro_op_32.d b/ld/testsuite/ld-loongarch-elf/macro_op_32.d index a7349aa8dc0..8fd69922c14 100644 --- a/ld/testsuite/ld-loongarch-elf/macro_op_32.d +++ b/ld/testsuite/ld-loongarch-elf/macro_op_32.d @@ -49,12 +49,16 @@ Disassembly of section .text: 3c: R_LARCH_RELAX \*ABS\* 40: 14000004 lu12i.w \$a0, 0 40: R_LARCH_TLS_LE_HI20 TLS1 + 40: R_LARCH_RELAX \*ABS\* 44: 03800084 ori \$a0, \$a0, 0x0 44: R_LARCH_TLS_LE_LO12 TLS1 + 44: R_LARCH_RELAX \*ABS\* 48: 1a000004 pcalau12i \$a0, 0 48: R_LARCH_TLS_IE_PC_HI20 TLS1 + 48: R_LARCH_RELAX \*ABS\* 4c: 28800084 ld.w \$a0, \$a0, 0 4c: R_LARCH_TLS_IE_PC_LO12 TLS1 + 4c: R_LARCH_RELAX \*ABS\* 50: 1a000004 pcalau12i \$a0, 0 50: R_LARCH_TLS_LD_PC_HI20 TLS1 50: R_LARCH_RELAX \*ABS\*