diff options
author | Alan Modra <amodra@gmail.com> | 2005-05-07 02:55:55 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-05-07 02:55:55 +0000 |
commit | 3b36f7e6294151e194b7bf437379e9dcf5b857cb (patch) | |
tree | 8731fe456070e99d18865e8872e04ad119dd3fa0 /bfd/elf64-ppc.c | |
parent | c18bae34de482f2dc415694af45bd21f1a78715b (diff) | |
download | gdb-3b36f7e6294151e194b7bf437379e9dcf5b857cb.zip gdb-3b36f7e6294151e194b7bf437379e9dcf5b857cb.tar.gz gdb-3b36f7e6294151e194b7bf437379e9dcf5b857cb.tar.bz2 |
bfd/
* elf-bfd.h (struct elf_backend_data): Remove got_symbol_offset.
* elfxx-target.h (elf_backend_got_symbol_offset): Delete.
* elflink.c (_bfd_elf_create_got_section): Use zero in place of
got_symbol_offset.
* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Likewise.
* elf32-frv.c (_frv_create_got_section): Likewise.
* elf32-i370.c (i370_elf_finish_dynamic_sections): Delete ppc code.
(elf_backend_got_symbol_offset): Don't define.
* elf64-ppc.c (elf_backend_got_symbol_offset): Don't define.
* elf32-ppc.c (struct ppc_elf_link_hash_table): Add got_header_size
and got_gap.
(ppc_elf_create_got): Tidy.
(ppc_elf_create_dynamic_sections): Don't set SEC_IN_MEMORY for .plt.
(ppc_elf_check_relocs): Reduce string comparisons by using elf.hgot.
(ppc_elf_gc_sweep_hook): Likewise.
(ppc_elf_relocate_section): Likewise.
(ppc_elf_finish_dynamic_symbol): Likewise.
(allocate_got): New function.
(allocate_dynrelocs): Use allocate_got.
(ppc_elf_size_dynamic_sections): Likewise. Delay tlsld_got allocation
so that local got can refcount it. Set got_header_size.
(ppc_elf_relocate_section): Use value of elf.hgot rather than hard-
coded 4.
(ppc_elf_finish_dynamic_sections): Likewise.
(elf_backend_got_symbol_offset): Don't define.
(elf_backend_got_header_size): Ditto.
ld/testsuite/
* ld-powerpc/tlsexe32.d: Update for changed got layout.
* ld-powerpc/tlsexe32.g: Likewise.
* ld-powerpc/tlsexe32.r: Likewise.
* ld-powerpc/tlsso32.d: Likewise.
* ld-powerpc/tlsso32.g: Likewise.
* ld-powerpc/tlsso32.r: Likewise.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r-- | bfd/elf64-ppc.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 0eaa754..7ef6d1c 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -67,7 +67,6 @@ static bfd_vma opd_entry_value #define elf_backend_want_plt_sym 0 #define elf_backend_plt_alignment 3 #define elf_backend_plt_not_loaded 1 -#define elf_backend_got_symbol_offset 0 #define elf_backend_got_header_size 8 #define elf_backend_can_gc_sections 1 #define elf_backend_can_refcount 1 @@ -2709,7 +2708,7 @@ ppc64_elf_get_synthetic_symtab (bfd *abfd, long j; /* Trim duplicate syms, since we may have merged the normal and dynamic symbols. Actually, we only care about syms that have - different values, so trim any with the same value. */ + different values, so trim any with the same value. */ for (i = 1, j = 1; i < symcount; ++i) if (syms[i - 1]->value + syms[i - 1]->section->vma != syms[i]->value + syms[i]->section->vma) @@ -4769,7 +4768,7 @@ opd_entry_value (asection *opd_sec, if (!bfd_get_section_contents (opd_bfd, opd_sec, &val, offset, 8)) return (bfd_vma) -1; - + if (code_sec != NULL) { asection *sec, *likely = NULL; |