aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf-bfd.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-12-23 09:57:38 +0000
committerJakub Jelinek <jakub@redhat.com>2006-12-23 09:57:38 +0000
commit97fed1c92ead4c79dd3de20c4888f28f3049ef56 (patch)
tree36012cc9a714bfb63a734327cbc4be512d5dd978 /bfd/elf-bfd.h
parent9f996475689885295c2be6aa484dc14f753cc3ec (diff)
downloadgdb-97fed1c92ead4c79dd3de20c4888f28f3049ef56.zip
gdb-97fed1c92ead4c79dd3de20c4888f28f3049ef56.tar.gz
gdb-97fed1c92ead4c79dd3de20c4888f28f3049ef56.tar.bz2
* elf-bfd.h (struct elf_backend_data): Add as_needed_cleanup hook.
* elfxx-target.h (elf_backend_as_needed_cleanup): Define. (elfNN_bed): Add as_needed_cleanup hook. * elflink.c (elf_link_add_object_symbols): Call it when reverting hash table changes for unneeded --as-needed input. * elf64-ppc64.c (elf_backend_as_needed_cleanup): Define. (ppc64_elf_as_needed_cleanup): New function.
Diffstat (limited to 'bfd/elf-bfd.h')
-rw-r--r--bfd/elf-bfd.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index 5951a6c..e7d84e6 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -711,6 +711,13 @@ 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 ADJUST_DYNAMIC_SYMBOL function is called by the ELF backend
linker for every symbol which is defined by a dynamic object and
referenced by a regular object. This is called after all the