diff options
author | Alan Modra <amodra@gmail.com> | 2003-12-08 13:05:11 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2003-12-08 13:05:11 +0000 |
commit | 754021d045c14a02e85d9ee6e15c70ead784d083 (patch) | |
tree | 41df489622d8c295bfe637e5649e4c465bbcdab5 /bfd/elf64-sparc.c | |
parent | 2f97444a4fbb09bd0b9dd6ed9dda8ddbe91cfaf2 (diff) | |
download | gdb-754021d045c14a02e85d9ee6e15c70ead784d083.zip gdb-754021d045c14a02e85d9ee6e15c70ead784d083.tar.gz gdb-754021d045c14a02e85d9ee6e15c70ead784d083.tar.bz2 |
* elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
"elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
* elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
and pass to output_symbol_hook.
(elf_bfd_final_link): Adjust elf_link_output_sym calls.
(elf_link_output_extsym): Likewise.
(elf_link_input_bfd): Likewise.
* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
* elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
Validate dynh->h against h.
* elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
(link_hash_newfunc): Init it.
(adjust_opd_syms): New function.
(ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
Set opd.adjust for all .opd relocs. Call adjust_opd_syms.
(ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
(ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
(ppc64_elf_output_symbol_hook): New function.
(elf_backend_link_output_symbol_hook): Define.
Diffstat (limited to 'bfd/elf64-sparc.c')
-rw-r--r-- | bfd/elf64-sparc.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index 204b648..4224310 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -65,7 +65,8 @@ static bfd_boolean sparc64_elf_add_symbol_hook const char **, flagword *, asection **, bfd_vma *)); static bfd_boolean sparc64_elf_output_arch_syms PARAMS ((bfd *, struct bfd_link_info *, PTR, - bfd_boolean (*) (PTR, const char *, Elf_Internal_Sym *, asection *))); + bfd_boolean (*) (PTR, const char *, Elf_Internal_Sym *, + asection *, struct elf_link_hash_entry *))); static void sparc64_elf_symbol_processing PARAMS ((bfd *, asymbol *)); @@ -1511,7 +1512,8 @@ sparc64_elf_output_arch_syms (output_bfd, info, finfo, func) struct bfd_link_info *info; PTR finfo; bfd_boolean (*func) - PARAMS ((PTR, const char *, Elf_Internal_Sym *, asection *)); + PARAMS ((PTR, const char *, Elf_Internal_Sym *, asection *, + struct elf_link_hash_entry *)); { int reg; struct sparc64_elf_app_reg *app_regs = @@ -1557,7 +1559,8 @@ sparc64_elf_output_arch_syms (output_bfd, info, finfo, func) sym.st_shndx = app_regs [reg].shndx; if (! (*func) (finfo, app_regs [reg].name, &sym, sym.st_shndx == SHN_ABS - ? bfd_abs_section_ptr : bfd_und_section_ptr)) + ? bfd_abs_section_ptr : bfd_und_section_ptr, + NULL)) return FALSE; } |