Consolidate ppc64 ld/bfd communication
authorAlan Modra <amodra@gmail.com>
Mon, 17 Feb 2014 06:38:00 +0000 (17:08 +1030)
committerAlan Modra <amodra@gmail.com>
Mon, 17 Feb 2014 06:41:11 +0000 (17:11 +1030)
commite7d1c40ce59ff355d2a51ff64a657c772eabbbfe
tree11d9412733613c625dd827c08e669e47b4fa1be9
parent668e22e51bc50b884a8c1872a2371a6b00a08f9d
Consolidate ppc64 ld/bfd communication

Moves assorted variables used to communicate between ld and bfd into
a struct, hooks it into the bfd link_hash_table early, and removes
all other places where such variables were passed piecemeal.

bfd/
* elf64-ppc.h (struct ppc64_elf_params): Define.
(ppc64_elf_init_stub_bfd, ppc64_elf_edit_opd, ppc64_elf_tls_setup,
ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
ppc64_elf_build_stubs): Update prototype.
* elf64-ppp.c (struct ppc_link_hash_table): Add params, delete other
fields now in params.  Adjust code throughout file.
(ppc64_elf_init_stub_bfd): Delete "abfd" parameter, add "params".
Save params pointer in htab.
(ppc64_elf_edit_opd, ppc64_elf_tls_setup,
ppc64_elf_setup_section_lists, ppc64_elf_size_stubs,
ppc64_elf_build_stubs): Remove parameters now in "params".
ld/
* emultemps/ppc64elf.em (params): New static struct replacing
various other static vars.  Adjust code throughout file.
bfd/ChangeLog
bfd/elf64-ppc.c
bfd/elf64-ppc.h
ld/ChangeLog
ld/emultempl/ppc64elf.em