OSDN Git Service

* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
authorAlan Modra <amodra@bigpond.net.au>
Mon, 21 Jan 2002 12:15:07 +0000 (12:15 +0000)
committerAlan Modra <amodra@bigpond.net.au>
Mon, 21 Jan 2002 12:15:07 +0000 (12:15 +0000)
commit1d8ed14950a8c62b83e4ead5b6276a10a506446e
tree04366b8c740a3b64d08891a97f3e9b6b9b4ab972
parent2232ba95bff212db62fc3ab5b3ba30fb06c370e9
* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
is_func_descriptor fields.
(link_hash_newfunc): Init them.
(ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
dot are candidates for plt entries.  When processing .opd relocs,
set function descriptor strings to point inside function code
string, and set new ppc_link_hash_entry fields.
(ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
(ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
function descriptors.  It's now done in..
(func_desc_adjust): New.
(ppc64_elf_func_desc_adjust): New.
(define elf_backend_always_size_sections): Define.
(ppc64_elf_hide_symbol): New.
(define elf_backend_hide_symbol): Define.
(allocate_dynrelocs): Remove code looking up function descriptors
as that has been done earlier.
(ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
table.
(ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
up function descriptor.
(build_one_stub): Look up the function code sym.  Check for
invalid plt offsets.
(ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
bfd/ChangeLog
bfd/elf64-ppc.c