binutils/binutils-revert-rela.diff
Michael Matz 6d24c45b6e Adjust the patches only applied on old codestreams.
- Adjusted binutils-revert-hlasm-insns.diff,
  binutils-revert-plt32-in-branches.diff and binutils-revert-rela.diff
  for upstream changes.
- Removed binutils-use-less-memory.diff, binutils-old-makeinfo.diff
  and riscv-relro.patch (all upstreamed).

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/binutils?expand=0&rev=459
2024-01-30 17:07:36 +00:00

376 lines
18 KiB
Diff

This is for bsc#1198422
This essentially reverts commit 17c6c3b99156fe82c1e637e1a5fd9f163ac788c8
to return back to old behaviour regarding RELA relocs: old binutils
used the relocated field as additional addend, relying on it being
zero for normal RELA behaviour. This isn't correct according to the
psABI, but some old tools (e.g. older ICC) emit object files where
the in-field "addend" is to be used (and record the zero in the A field
of the RELA reloc). This change was included starting with binutils 2.37,
but for older codestreams we want to be compatible with the old (buggy)
behaviour. We revert the change for all relocs and not just those for
which it arguably made some sense or where we had a report about (PLT32).
On x86-64 this reversion interacts with the linker support for DT_RELR,
i.e. packed relative relocs. To calculate the info for that the linker
goes through the input relocation multiple times and the obvious result
with the above reversion happens: the addends are added multiple times
resulting in those packed relative relocs to all have an addend twice
as large as wanted. As old codestreams don't have the necessary support
for DT_RELR anyway (in the dynamic linker) we disable it whole-sale as
well. Only x86-64 and ppc64(le) have packed relative relocs
and while ppc64le DT_RELR support would work there's still the problem
of missing support in ld.so.
(This also disables the few explicit dt-relr tests that don't use the
proper predicate to guard themself)
Index: binutils-2.42/bfd/elf64-x86-64.c
===================================================================
--- binutils-2.42.orig/bfd/elf64-x86-64.c 2024-01-30 16:59:42.442361796 +0100
+++ binutils-2.42/bfd/elf64-x86-64.c 2024-01-30 17:54:25.162977883 +0100
@@ -48,127 +48,127 @@ static reloc_howto_type x86_64_elf_howto
bfd_elf_generic_reloc, "R_X86_64_NONE", false, 0, 0x00000000,
false),
HOWTO(R_X86_64_64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_PC32, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_PC32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_PC32", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_GOT32, 0, 4, 32, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOT32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_GOT32", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_PLT32, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_PLT32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_PLT32", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_COPY, 0, 4, 32, false, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_X86_64_COPY", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_COPY", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_GLOB_DAT, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_GLOB_DAT", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_GLOB_DAT", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_JUMP_SLOT, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_JUMP_SLOT", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_JUMP_SLOT", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_RELATIVE, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_RELATIVE", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_RELATIVE", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_GOTPCREL, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTPCREL", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_GOTPCREL", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_32, 0, 4, 32, false, 0, complain_overflow_unsigned,
- bfd_elf_generic_reloc, "R_X86_64_32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_32", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_32S, 0, 4, 32, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_32S", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_32S", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_16, 0, 2, 16, false, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_X86_64_16", false, 0, 0xffff, false),
+ bfd_elf_generic_reloc, "R_X86_64_16", false, 0xffff, 0xffff, false),
HOWTO(R_X86_64_PC16, 0, 2, 16, true, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_X86_64_PC16", false, 0, 0xffff, true),
+ bfd_elf_generic_reloc, "R_X86_64_PC16", false, 0xffff, 0xffff, true),
HOWTO(R_X86_64_8, 0, 1, 8, false, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_X86_64_8", false, 0, 0xff, false),
+ bfd_elf_generic_reloc, "R_X86_64_8", false, 0xff, 0xff, false),
HOWTO(R_X86_64_PC8, 0, 1, 8, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_PC8", false, 0, 0xff, true),
+ bfd_elf_generic_reloc, "R_X86_64_PC8", false, 0xff, 0xff, true),
HOWTO(R_X86_64_DTPMOD64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_DTPMOD64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_DTPMOD64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_DTPOFF64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_DTPOFF64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_DTPOFF64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_TPOFF64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_TPOFF64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_TPOFF64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_TLSGD, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_TLSGD", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_TLSGD", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_TLSLD, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_TLSLD", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_TLSLD", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_DTPOFF32, 0, 4, 32, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_DTPOFF32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_DTPOFF32", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_GOTTPOFF, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTTPOFF", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_GOTTPOFF", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_TPOFF32, 0, 4, 32, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_TPOFF32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_TPOFF32", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_PC64, 0, 8, 64, true, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_PC64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_PC64", false, MINUS_ONE, MINUS_ONE,
true),
HOWTO(R_X86_64_GOTOFF64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_GOTOFF64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_GOTOFF64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_GOTPC32, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTPC32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_GOTPC32", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_GOT64, 0, 8, 64, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOT64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_GOT64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_GOTPCREL64, 0, 8, 64, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTPCREL64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_GOTPCREL64", false, MINUS_ONE, MINUS_ONE,
true),
HOWTO(R_X86_64_GOTPC64, 0, 8, 64, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTPC64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_GOTPC64", false, MINUS_ONE, MINUS_ONE,
true),
HOWTO(R_X86_64_GOTPLT64, 0, 8, 64, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTPLT64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_GOTPLT64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_PLTOFF64, 0, 8, 64, false, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_PLTOFF64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_PLTOFF64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_SIZE32, 0, 4, 32, false, 0, complain_overflow_unsigned,
- bfd_elf_generic_reloc, "R_X86_64_SIZE32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_SIZE32", false, 0xffffffff, 0xffffffff,
false),
HOWTO(R_X86_64_SIZE64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_SIZE64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_SIZE64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_GOTPC32_TLSDESC, 0, 4, 32, true, 0,
complain_overflow_bitfield, bfd_elf_generic_reloc,
- "R_X86_64_GOTPC32_TLSDESC", false, 0, 0xffffffff, true),
+ "R_X86_64_GOTPC32_TLSDESC", false, 0xffffffff, 0xffffffff, true),
HOWTO(R_X86_64_TLSDESC_CALL, 0, 0, 0, false, 0,
complain_overflow_dont, bfd_elf_generic_reloc,
"R_X86_64_TLSDESC_CALL",
false, 0, 0, false),
HOWTO(R_X86_64_TLSDESC, 0, 8, 64, false, 0,
complain_overflow_dont, bfd_elf_generic_reloc,
- "R_X86_64_TLSDESC", false, 0, MINUS_ONE, false),
+ "R_X86_64_TLSDESC", false, MINUS_ONE, MINUS_ONE, false),
HOWTO(R_X86_64_IRELATIVE, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_IRELATIVE", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_IRELATIVE", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_RELATIVE64, 0, 8, 64, false, 0, complain_overflow_dont,
- bfd_elf_generic_reloc, "R_X86_64_RELATIVE64", false, 0, MINUS_ONE,
+ bfd_elf_generic_reloc, "R_X86_64_RELATIVE64", false, MINUS_ONE, MINUS_ONE,
false),
HOWTO(R_X86_64_PC32_BND, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_PC32_BND", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_PC32_BND", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_PLT32_BND, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_PLT32_BND", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_PLT32_BND", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_GOTPCRELX", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_GOTPCRELX", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_REX_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed,
- bfd_elf_generic_reloc, "R_X86_64_REX_GOTPCRELX", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_REX_GOTPCRELX", false, 0xffffffff, 0xffffffff,
true),
HOWTO(R_X86_64_CODE_4_GOTPCRELX, 0, 4, 32, true, 0, complain_overflow_signed,
bfd_elf_generic_reloc, "R_X86_64_CODE_4_GOTPCRELX", false, 0, 0xffffffff,
@@ -198,7 +198,7 @@ static reloc_howto_type x86_64_elf_howto
/* Use complain_overflow_bitfield on R_X86_64_32 for x32. */
HOWTO(R_X86_64_32, 0, 4, 32, false, 0, complain_overflow_bitfield,
- bfd_elf_generic_reloc, "R_X86_64_32", false, 0, 0xffffffff,
+ bfd_elf_generic_reloc, "R_X86_64_32", false, 0xffffffff, 0xffffffff,
false)
};
Index: binutils-2.42/gas/testsuite/gas/i386/rela.d
===================================================================
--- binutils-2.42.orig/gas/testsuite/gas/i386/rela.d 2024-01-29 01:00:00.000000000 +0100
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,13 +0,0 @@
-#name: x86-64 rela relocs w/ non-zero relocated fields
-#objdump: -rsj .data
-
-.*: +file format .*
-
-RELOCATION RECORDS FOR \[\.data\]:
-
-OFFSET +TYPE +VALUE
-0*0 R_X86_64_64 *q
-0*8 R_X86_64_32 *l
-
-Contents of section .data:
- 0+0 11 ?11 ?11 ?11 22 ?22 ?22 ?22 33 ?33 ?33 ?33 44 ?44 ?44 ?44 .*
Index: binutils-2.42/gas/testsuite/gas/i386/rela.s
===================================================================
--- binutils-2.42.orig/gas/testsuite/gas/i386/rela.s 2024-01-29 01:00:00.000000000 +0100
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,14 +0,0 @@
-# Note: This file is also used by an ld test case.
-
- .text
- .global _start
-_start:
- ret
-
- .data
- .p2align 4
-l: .long 0x11111111, 0x22222222
-q: .quad 0x4444444433333333
-
- .reloc l, BFD_RELOC_64, q
- .reloc q, BFD_RELOC_32, l
Index: binutils-2.42/ld/testsuite/ld-x86-64/rela.d
===================================================================
--- binutils-2.42.orig/ld/testsuite/ld-x86-64/rela.d 2024-01-29 01:00:00.000000000 +0100
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,10 +0,0 @@
-#name: x86-64 rela relocs w/ non-zero relocated fields
-#as: --64
-#source: ${srcdir}/../../../gas/testsuite/gas/i386/rela.s
-#ld: -melf_x86_64
-#objdump: -sj .data
-
-.*: +file format .*
-
-Contents of section .data:
- *[0-9a-f]*0 .8 ?.. ?.. ?.. 00 ?00 ?00 ?00 .0 ?.. ?.. ?.. 44 ?44 ?44 ?44 .*
Index: binutils-2.42/ld/testsuite/ld-x86-64/x86-64.exp
===================================================================
--- binutils-2.42.orig/ld/testsuite/ld-x86-64/x86-64.exp 2024-01-30 16:57:58.487327524 +0100
+++ binutils-2.42/ld/testsuite/ld-x86-64/x86-64.exp 2024-01-30 17:55:13.480432003 +0100
@@ -291,7 +291,6 @@ run_dump_test "apic"
run_dump_test "pcrel8"
run_dump_test "pcrel16"
run_dump_test "pcrel16-2"
-run_dump_test "rela"
run_dump_test "tlsgd2"
run_dump_test "tlsgd3"
run_dump_test "tlsgd12"
@@ -506,10 +505,10 @@ run_dump_test "pr27491-1c"
run_dump_test "pr27491-2"
run_dump_test "pr27491-3"
run_dump_test "pr27491-4"
-run_dump_test "dt-relr-1a"
-run_dump_test "dt-relr-1a-x32"
-run_dump_test "dt-relr-1b"
-run_dump_test "dt-relr-1b-x32"
+#run_dump_test "dt-relr-1a"
+#run_dump_test "dt-relr-1a-x32"
+#run_dump_test "dt-relr-1b"
+#run_dump_test "dt-relr-1b-x32"
run_dump_test "pr30787"
run_dump_test "pr31047"
run_dump_test "pr31047-x32"
Index: binutils-2.42/binutils/testsuite/lib/binutils-common.exp
===================================================================
--- binutils-2.42.orig/binutils/testsuite/lib/binutils-common.exp 2024-01-29 01:00:00.000000000 +0100
+++ binutils-2.42/binutils/testsuite/lib/binutils-common.exp 2024-01-30 17:54:25.166311271 +0100
@@ -449,6 +449,8 @@ proc supports_persistent_section {} {
# Whether a target support DT_RELR sections.
proc supports_dt_relr {} {
+ # on old codestreams we don't support DT_RELR anywhere
+ return 0
if { ([istarget x86_64-*-*]
|| [istarget i?86-*-*]
|| [istarget powerpc64*-*-*])
Index: binutils-2.42/ld/emulparams/dt-relr.sh
===================================================================
--- binutils-2.42.orig/ld/emulparams/dt-relr.sh 2024-01-29 01:00:00.000000000 +0100
+++ binutils-2.42/ld/emulparams/dt-relr.sh 2024-01-30 17:54:25.166311271 +0100
@@ -1,3 +1,8 @@
+if false; then
+ # on old codestreams we don't have the DT_RELR support in the dynamic
+ # linker, and additionally DT_RELR support will generate bad relocs
+ # when binutils-revert-rela.diff is active (as addends will be
+ # applied multiple times). Just disable all DT_RELR support.
HAVE_DT_RELR=yes
PARSE_AND_LIST_OPTIONS_PACK_RELATIVE_RELOCS='
fprintf (file, _("\
@@ -16,3 +21,5 @@ PARSE_AND_LIST_ARGS_CASE_Z_PACK_RELATIVE
PARSE_AND_LIST_OPTIONS="$PARSE_AND_LIST_OPTIONS $PARSE_AND_LIST_OPTIONS_PACK_RELATIVE_RELOCS"
PARSE_AND_LIST_ARGS_CASE_Z="$PARSE_AND_LIST_ARGS_CASE_Z $PARSE_AND_LIST_ARGS_CASE_Z_PACK_RELATIVE_RELOCS"
+
+fi
Index: binutils-2.42/ld/testsuite/ld-i386/i386.exp
===================================================================
--- binutils-2.42.orig/ld/testsuite/ld-i386/i386.exp 2024-01-29 01:00:00.000000000 +0100
+++ binutils-2.42/ld/testsuite/ld-i386/i386.exp 2024-01-30 17:54:25.166311271 +0100
@@ -507,8 +507,8 @@ run_dump_test "pr27491-1c"
run_dump_test "pr27491-2"
run_dump_test "pr27491-3"
run_dump_test "pr27491-4"
-run_dump_test "dt-relr-1a"
-run_dump_test "dt-relr-1b"
+#run_dump_test "dt-relr-1a"
+#run_dump_test "dt-relr-1b"
run_dump_test "pr28870"
run_dump_test "pr28894"
run_dump_test "pr30787"
Index: binutils-2.42/ld/testsuite/ld-powerpc/powerpc.exp
===================================================================
--- binutils-2.42.orig/ld/testsuite/ld-powerpc/powerpc.exp 2024-01-29 01:00:00.000000000 +0100
+++ binutils-2.42/ld/testsuite/ld-powerpc/powerpc.exp 2024-01-30 17:54:25.166311271 +0100
@@ -378,14 +378,14 @@ set ppc64elftests {
"-a64" {abs-reloc.s}
{{objdump {-sdr} abs-shared.d}
{readelf {-rW} abs-shared.r}} "abs-shared"}
- {"abs-pie-relr" "-melf64ppc -pie --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" ""
- "-a64" {abs-reloc.s}
- {{objdump {-sdr} abs-pie-relr.d}
- {readelf {-rW} abs-pie-relr.r}} "abs-pie-relr"}
- {"abs-shared-relr" "-melf64ppc -shared --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" ""
- "-a64" {abs-reloc.s}
- {{objdump {-sdr} abs-shared-relr.d}
- {readelf {-rW} abs-shared-relr.r}} "abs-shared-relr"}
+# {"abs-pie-relr" "-melf64ppc -pie --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" ""
+# "-a64" {abs-reloc.s}
+# {{objdump {-sdr} abs-pie-relr.d}
+# {readelf {-rW} abs-pie-relr.r}} "abs-pie-relr"}
+# {"abs-shared-relr" "-melf64ppc -shared --hash-style=sysv -z pack-relative-relocs --defsym a=1 --defsym 'HIDDEN(b=2)' --defsym c=0x123456789abcdef0" ""
+# "-a64" {abs-reloc.s}
+# {{objdump {-sdr} abs-shared-relr.d}
+# {readelf {-rW} abs-shared-relr.r}} "abs-shared-relr"}
}
set ppceabitests {
Index: binutils-2.42/gas/testsuite/gas/i386/x86-64.exp
===================================================================
--- binutils-2.42.orig/gas/testsuite/gas/i386/x86-64.exp 2024-01-29 01:00:00.000000000 +0100
+++ binutils-2.42/gas/testsuite/gas/i386/x86-64.exp 2024-01-30 17:54:25.166311271 +0100
@@ -628,7 +628,6 @@ if [is_elf_format] then {
run_list_test "reloc64" "--defsym _bad_=1"
run_list_test "x86-64-inval-tls"
run_dump_test "mixed-mode-reloc64"
- run_dump_test "rela"
run_dump_test "x86-64-ifunc"
if { [gas_32_check] } then {
run_dump_test "x86-64-opcode-inval"