Avoid creating COPY relocs.
authorAlan Modra <amodra@gmail.com>
Wed, 27 Jun 2001 02:42:09 +0000 (02:42 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 27 Jun 2001 02:42:09 +0000 (02:42 +0000)
commit446f28631310205b7515598fdbcd88a4d1838da2
tree19a7202729d0b8e7d98b4991ebdbfa8ebd477870
parent5a15f56fea3090ab5ee971207656453cdf267b86
Avoid creating COPY relocs.
* elf32-hppa.c (elf32_hppa_check_relocs): Don't make syms dynamic
here..
(elf32_hppa_adjust_dynamic_symbol): ..nor here..
(allocate_plt_and_got_and_discard_relocs): .. instead do so here
after gc has run.
* elf32-hppa.c (RELATIVE_DYNAMIC_RELOCS): Delete.
(IS_ABSOLUTE_RELOC): Define.
(elf32_hppa_link_hash_entry): Always include reloc_entries field.
(hppa_link_hash_newfunc): Always init it.
(elf32_hppa_check_relocs): Mark symbols as ELF_LINK_NON_GOT_REF to
create COPY relocs only when the reloc is in a read-only section.
Instead, allocate space for a dynamic reloc to reference the
library symbol directly.  Keep track of space we allocate using
relocs_entries.
(hppa_discard_copies): Delete, and move code to..
(allocate_plt_and_got): ..here.  Rename to
allocate_plt_and_got_and_discard_relocs.  Remove unneeded dynamic
relocs for non-shared link.
(elf32_hppa_size_dynamic_sections): Update calls to above.
(elf32_hppa_relocate_section): Write out the dynamic relocs used
in lieu of COPY relocs.
bfd/ChangeLog
bfd/elf32-hppa.c