aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-02-17 16:51:25 +1030
committerAlan Modra <amodra@gmail.com>2014-02-17 17:00:19 +1030
commit668e22e51bc50b884a8c1872a2371a6b00a08f9d (patch)
tree963c5f029488545fe2b2729668369af0ff3226bf /ld
parent98dc0167d6bb0a931800078cb0eb36d403bc9994 (diff)
downloadfsf-binutils-gdb-668e22e51bc50b884a8c1872a2371a6b00a08f9d.zip
fsf-binutils-gdb-668e22e51bc50b884a8c1872a2371a6b00a08f9d.tar.gz
fsf-binutils-gdb-668e22e51bc50b884a8c1872a2371a6b00a08f9d.tar.bz2
ppc476 workaround for ld -r fixes
This fixes the glaring error that the ppc476 workaround wasn't actually enabled for ld -r, and adjusts relocations to match moved code. bfd/ * elf32-ppc.c (ppc_elf_relocate_section): Move relocs on insns patched for ppc476 workaround. Reapply branch taken/not taken relocs. ld/ * emultempl/ppc32elf.em (ppc_after_open_output): Really enable ppc476 workaround for ld -r.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/emultempl/ppc32elf.em2
2 files changed, 5 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 9ab809e..38d81b0 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-17 Alan Modra <amodra@gmail.com>
+
+ * emultempl/ppc32elf.em (ppc_after_open_output): Really enable
+ ppc476 workaround for ld -r.
+
2014-02-12 Alan Modra <amodra@gmail.com>
* emultempl/ppc32elf.em (pagesize): New static var.
diff --git a/ld/emultempl/ppc32elf.em b/ld/emultempl/ppc32elf.em
index 8de230a..f5a3a70 100644
--- a/ld/emultempl/ppc32elf.em
+++ b/ld/emultempl/ppc32elf.em
@@ -51,8 +51,6 @@ ppc_after_open_output (void)
if (pagesize == 0)
pagesize = config.commonpagesize;
params.pagesize_p2 = bfd_log2 (pagesize);
- if (link_info.relocatable)
- params.ppc476_workaround = 0;
ppc_elf_link_params (&link_info, &params);
}