Enable ppc476 workaround for ld -r.
authorAlan Modra <amodra@gmail.com>
Wed, 12 Feb 2014 06:14:36 +0000 (16:44 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 12 Feb 2014 11:40:09 +0000 (22:10 +1030)
commit795bc6b3eac9e3f80279df69c05d70fc44eaaa4c
tree05936288596641f8b197892fe10826ead1935987
parentb407645f7ef086a9a527c8f62499b4255868e748
Enable ppc476 workaround for ld -r.

The Linux kernel builds modules using ld -r.  These might need the
ppc476 workaround, so enable it for ld -r if sections have sufficient
alignment to tell location within a page.

bfd/
* elf32-ppc.c (ppc_elf_relax_section): Enable ppc476 workaround
for ld -r, when code sections are sufficiently aligned.
* elf32-ppc.h (struct ppc_elf_params): Delete pagesize.  Add
pagesize_p2.
ld/
* emultempl/ppc32elf.em (pagesize): New static var.
(ppc_after_open_output): Set params.pagesize_p2 from pagesize.
(PARSE_AND_LIST_ARGS_CASES): Adjust to use pagesize.
bfd/ChangeLog
bfd/elf32-ppc.c
bfd/elf32-ppc.h
ld/ChangeLog
ld/emultempl/ppc32elf.em