diff options
author | Alan Modra <amodra@gmail.com> | 2013-08-27 01:06:43 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-08-27 01:06:43 +0000 |
commit | e5034e59e04c90d3a0b6c78af0cbfd3f73eb7809 (patch) | |
tree | b251a82e4ee092ebf1bf38a0cf2eb2a28ae98fe4 /bfd/elf-bfd.h | |
parent | ce4ea2bb179312d14090f190dd0d974a65d64536 (diff) | |
download | gdb-e5034e59e04c90d3a0b6c78af0cbfd3f73eb7809.zip gdb-e5034e59e04c90d3a0b6c78af0cbfd3f73eb7809.tar.gz gdb-e5034e59e04c90d3a0b6c78af0cbfd3f73eb7809.tar.bz2 |
* elf-bfd.h (struct elf_backend_data): Remove as_needed_cleanup.
Add notice_as_needed.
* elf64-ppc.c (elf_backend_as_needed_cleanup): Don't define.
(elf_backend_notice_as_needed): Define.
(ppc64_elf_as_needed_cleanup): Rename and adjust..
(ppc64_elf_notice_as_needed): ..to this.
* elflink.c (_bfd_elf_notice_as_needed): New function, extracted..
(elf_link_add_object_symbols): ..from here.
* elfxx-target.h (elf_backend_as_needed_cleanup): Don't define.
(elf_backend_notice_as_needed): Define..
(elfNN_bed): ..and use here.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r-- | bfd/elf-bfd.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index 4a67d02..add80b3 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -881,12 +881,12 @@ struct elf_backend_data bfd_boolean (*check_directives) (bfd *abfd, struct bfd_link_info *info); - /* The AS_NEEDED_CLEANUP function is called once per --as-needed - input file that was not needed by the add_symbols phase of the - ELF backend linker. The function must undo any target specific - changes in the symbol hash table. */ - bfd_boolean (*as_needed_cleanup) - (bfd *abfd, struct bfd_link_info *info); + /* The NOTICE_AS_NEEDED function is called as the linker is about to + handle an as-needed lib (ACT = notice_as_needed), and after the + linker has decided to keep the lib (ACT = notice_needed) or when + the lib is not needed (ACT = notice_not_needed). */ + bfd_boolean (*notice_as_needed) + (bfd *abfd, struct bfd_link_info *info, enum notice_asneeded_action act); /* The ADJUST_DYNAMIC_SYMBOL function is called by the ELF backend linker for every symbol which is defined by a dynamic object and @@ -2139,6 +2139,8 @@ extern bfd_boolean _bfd_elf_default_relocs_compatible extern bfd_boolean _bfd_elf_relocs_compatible (const bfd_target *, const bfd_target *); +extern bfd_boolean _bfd_elf_notice_as_needed + (bfd *, struct bfd_link_info *, enum notice_asneeded_action); extern struct elf_link_hash_entry *_bfd_elf_archive_symbol_lookup (bfd *, struct bfd_link_info *, const char *); |