diff options
author | Alan Modra <amodra@gmail.com> | 2004-08-09 06:02:03 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2004-08-09 06:02:03 +0000 |
commit | 8387904def5e1510b39abce755c964c1b3f52307 (patch) | |
tree | 40e1ef05b173ac7b158f2ec5a48752ae948901f1 /bfd/elf-bfd.h | |
parent | fed7ba43e0cf5e3f58d8fb93615cb11a342906cf (diff) | |
download | gdb-8387904def5e1510b39abce755c964c1b3f52307.zip gdb-8387904def5e1510b39abce755c964c1b3f52307.tar.gz gdb-8387904def5e1510b39abce755c964c1b3f52307.tar.bz2 |
* elf-bfd.h (struct elf_backend_data): Add
elf_backend_archive_symbol_lookup.
(_bfd_elf_archive_symbol_lookup): Declare.
* elflink.c (_bfd_elf_archive_symbol_lookup): New function..
(elf_link_add_archive_symbols): ..extracted from here. Call the
backend version.
* elfxx-target.h (elf_backend_archive_symbol_lookup): Provide default.
(elfNN_bed): Init new field.
* elf64-ppc.c (elf_backend_check_directives): Define.
(elf_backend_archive_symbol_lookup): Define.
(struct ppc_link_hash_table): Add tls_get_add_fd. Make tls_get_add
a ppc_link_hash_entry pointer.
(get_fdh): Move.
(ppc64_elf_archive_symbol_lookup, opd_entry_value): New functions.
(add_symbol_adjust, ppc64_elf_check_directives): New functions.
(ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, func_desc_adjust,
ppc64_elf_adjust_dynamic_symbol, ppc64_elf_tls_setup,
ppc64_elf_tls_optimize, allocate_dynrelocs, ppc_type_of_stub,
ppc_build_one_stub, ppc64_elf_size_stubs, ppc64_elf_relocate_section,
ppc64_elf_finish_dynamic_symbol): Handle branch relocs to function
descriptor symbols.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index d2bce6d..336b94f 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -579,11 +579,16 @@ struct elf_backend_data bfd_boolean (*elf_backend_symbol_table_processing) (bfd *, elf_symbol_type *, unsigned int); - /* A function to set the type of the info field. Processor-specific + /* A function to set the type of the info field. Processor-specific types should be handled here. */ int (*elf_backend_get_symbol_type) (Elf_Internal_Sym *, int); + /* A function to return the linker hash table entry of a symbol that + might be satisfied by an archive symbol. */ + struct elf_link_hash_entry * (*elf_backend_archive_symbol_lookup) + (bfd *, struct bfd_link_info *, const char *); + /* Return true if local section symbols should have a non-null st_name. NULL implies false. */ bfd_boolean (*elf_backend_name_local_section_symbols) @@ -1681,6 +1686,8 @@ extern void bfd_elf64_write_relocs extern bfd_boolean bfd_elf64_slurp_reloc_table (bfd *, asection *, asymbol **, bfd_boolean); +extern struct elf_link_hash_entry *_bfd_elf_archive_symbol_lookup + (bfd *, struct bfd_link_info *, const char *); extern bfd_boolean bfd_elf_link_add_symbols (bfd *, struct bfd_link_info *); extern bfd_boolean _bfd_elf_add_dynamic_entry |