Fixes tic6x testsuite failures due to .rela.plt having a zero sh_info.
I considered passing link_info to get_reloc_section so we could
directly return the .got.plt output section, but we need the fallback
to name lookup anyway for objcopy.
bfd/
* elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
mapped to output .got section.
ld/testsuite/
* ld-arm/tls-gdesc-nlazy.g: Adjust for readelf note.
* ld-tic6x/shlib-1.rd: Expect corrected .rela.plt sh_info.
* ld-tic6x/shlib-1b.rd: Likewise.
* ld-tic6x/shlib-1r.rd: Likewise.
* ld-tic6x/shlib-1rb.rd: Likewise.
* ld-tic6x/shlib-app-1.rd: Likewise.
* ld-tic6x/shlib-app-1b.rd: Likewise.
* ld-tic6x/shlib-app-1r.rd: Likewise.
* ld-tic6x/shlib-app-1rb.rd: Likewise.
* ld-tic6x/shlib-noindex.rd: Likewise.
+2015-04-07 Alan Modra <amodra@gmail.com>
+
+ * elf.c (_bfd_elf_get_reloc_section): Allow for .got.plt being
+ mapped to output .got section.
+
2015-04-07 Alan Modra <amodra@gmail.com>
* elf32-ppc.c (struct ppc_elf_link_hash_entry): Add has_addr16_ha
abfd = reloc_sec->owner;
if (get_elf_backend_data (abfd)->want_got_plt
&& strcmp (name, ".plt") == 0)
- name = ".got.plt";
+ {
+ /* .got.plt is a linker created input section. It may be mapped
+ to some other output section. Try two likely sections. */
+ name = ".got.plt";
+ reloc_sec = bfd_get_section_by_name (abfd, name);
+ if (reloc_sec != NULL)
+ return reloc_sec;
+ name = ".got";
+ }
reloc_sec = bfd_get_section_by_name (abfd, name);
return reloc_sec;
+2015-04-07 Alan Modra <amodra@gmail.com>
+
+ * ld-arm/tls-gdesc-nlazy.g: Adjust for readelf note.
+ * ld-tic6x/shlib-1.rd: Expect corrected .rela.plt sh_info.
+ * ld-tic6x/shlib-1b.rd: Likewise.
+ * ld-tic6x/shlib-1r.rd: Likewise.
+ * ld-tic6x/shlib-1rb.rd: Likewise.
+ * ld-tic6x/shlib-app-1.rd: Likewise.
+ * ld-tic6x/shlib-app-1b.rd: Likewise.
+ * ld-tic6x/shlib-app-1r.rd: Likewise.
+ * ld-tic6x/shlib-app-1rb.rd: Likewise.
+ * ld-tic6x/shlib-noindex.rd: Likewise.
+
2015-04-06 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/compress.exp: Remove is_zlib_supported check.
Hex dump of section '.got':
+#...
0x[0-9a-f]+ [0-9a-f]+ 00000000 00000000 00000000 ................
0x[0-9a-f]+ 00000000 00000000 00000000 ............
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
\[ 4\] \.rela\.got RELA 00008140 001140 000024 0c AI 2 10 4
\[ 5\] \.rela\.neardata RELA 00008164 001164 000018 0c AI 2 11 4
\[ 6\] \.dynamic DYNAMIC 0000817c 00117c 0000a8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 10 4
\[ 8\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[10\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4
\[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c AI 2 12 4
\[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c AI 2 13 4
\[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4
- \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 9 4
+ \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 11 4
\[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[11\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
\[ 5\] \.rela\.neardata RELA 00008154 001154 000018 0c AI 2 12 4
\[ 6\] \.rela\.bss RELA 0000816c 00116c 00000c 0c AI 2 13 4
\[ 7\] \.dynamic DYNAMIC 00008178 001178 0000b8 08 WA 3 0 4
- \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 9 4
+ \[ 8\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 11 4
\[ 9\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[10\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[11\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
\[ 4\] \.rela\.got RELA 0000810c 00110c 000018 0c AI 2 10 4
\[ 5\] \.rela\.bss RELA 00008124 001124 00000c 0c AI 2 12 4
\[ 6\] \.dynamic DYNAMIC 00008130 001130 0000b8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 10 4
\[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[10\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
\[ 4\] \.rela\.got RELA 00008110 001110 000018 0c AI 2 10 4
\[ 5\] \.rela\.bss RELA 00008128 001128 00000c 0c AI 2 12 4
\[ 6\] \.dynamic DYNAMIC 00008134 001134 0000b8 08 WA 3 0 4
- \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 8 4
+ \[ 7\] \.rela\.plt RELA 10000000 002000 00000c 0c AI 2 10 4
\[ 8\] \.plt PROGBITS 10000020 002020 000040 18 AX 0 0 32
\[ 9\] \.text PROGBITS 10000060 002060 000040 00 AX 0 0 32
\[10\] \.got PROGBITS 100000a0 0020a0 000020 00 WA 0 0 4
\[ 5\] \.rela\.got RELA 0000814c 00114c 000024 0c AI 2 11 4
\[ 6\] \.rela\.neardata RELA 00008170 001170 000018 0c AI 2 12 4
\[ 7\] \.dynamic DYNAMIC 00008188 001188 0000b0 08 WA 3 0 4
- \[ 8\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 9 4
+ \[ 8\] \.rela\.plt RELA 10000000 002000 000018 0c AI 2 11 4
\[ 9\] \.plt PROGBITS 10000020 002020 000060 18 AX 0 0 32
\[10\] \.text PROGBITS 10000080 002080 000080 00 AX 0 0 32
\[11\] \.got PROGBITS 10000100 002100 000028 00 WA 0 0 4