summaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2020-01-14 20:45:53 +1030
committerAlan Modra <amodra@gmail.com>2020-01-15 12:29:21 +1030
commite1c6cf618cbeebbafd34afc5ee921fcbf7061bfa (patch)
tree0b4df69086860715c0142805e45013a0ce383555 /bfd/ChangeLog
parentff47f4f06d296b672337e2c7363a745cd2725f58 (diff)
downloadbinutils-gdb-e1c6cf618cbeebbafd34afc5ee921fcbf7061bfa.tar.gz
PR25384, PowerPC64 ELFv1 copy relocs against function symbols
Function symbols of course don't normally want .dynbss copies but with some old versions of gcc they are needed to copy the function descriptor. This patch restricts the cases where they are useful to compilers using dot-symbols, and enables the warning regardless of whether a PLT entry is emitted in the executable. PLTs in shared libraries are affected by a .dynbss copy in the executable. bfd/ PR 25384 * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment. (ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies of function symbols unless dot symbols are present. Do warn whenever one is created, regardles of whether a PLT entry is also emitted for the function symbol. ld/ * testsuite/ld-powerpc/ambiguousv1b.d: Adjust expected output. * testsuite/ld-powerpc/funref.s: Align func_tab. * testsuite/ld-powerpc/funref2.s: Likewise. * testsuite/ld-powerpc/funv1.s: Add dot symbols.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog9
1 files changed, 9 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 75099e91b22..21f6769ba46 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,12 @@
+2020-01-15 Alan Modra <amodra@gmail.com>
+
+ PR 25384
+ * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Update comment.
+ (ppc64_elf_adjust_dynamic_symbol): Don't allow .dynbss copies
+ of function symbols unless dot symbols are present. Do warn
+ whenever one is created, regardles of whether a PLT entry is
+ also emitted for the function symbol.
+
2020-01-14 Alan Modra <amodra@gmail.com>
* som.c (som_bfd_count_ar_symbols): Error when file position