diff options
author | Alan Modra <amodra@gmail.com> | 2006-07-19 01:50:23 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2006-07-19 01:50:23 +0000 |
commit | 5061a8853b6f8fb5af87b8ff4a0f7a2460ad333b (patch) | |
tree | b5e392f1de6b43f8e366486604178ea4c1c29046 /ld/ldmain.c | |
parent | 9148c4581c6a76a5acfea144685fdd700a103dfe (diff) | |
download | gdb-5061a8853b6f8fb5af87b8ff4a0f7a2460ad333b.zip gdb-5061a8853b6f8fb5af87b8ff4a0f7a2460ad333b.tar.gz gdb-5061a8853b6f8fb5af87b8ff4a0f7a2460ad333b.tar.bz2 |
bfd/
* bfd-in.h (enum notice_asneeded_action): Define.
* bfd-in2.h: Regenerate.
* elflink.c (elf_link_add_object_symbols): Call linker "notice"
function with NULL name for as-needed handling.
ld/
* ld.h (handle_asneeded_cref): Declare.
* ldcref.c: Include objalloc.h.
(old_table, old_count, old_tab, alloc_mark): New variables.
(tabsize, entsize, refsize, old_symcount): Likewise.
(add_cref): Use bfd_hash_allocate for refs.
(handle_asneeded_cref): New function.
* ldmain.c (notice): Call handle_asneeded_cref for NULL name.
Diffstat (limited to 'ld/ldmain.c')
-rw-r--r-- | ld/ldmain.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ld/ldmain.c b/ld/ldmain.c index ec31310..cb56a8d 100644 --- a/ld/ldmain.c +++ b/ld/ldmain.c @@ -1523,6 +1523,13 @@ notice (struct bfd_link_info *info, asection *section, bfd_vma value) { + if (name == NULL) + { + if (command_line.cref || nocrossref_list != NULL) + return handle_asneeded_cref (abfd, value); + return TRUE; + } + if (! info->notice_all || (info->notice_hash != NULL && bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL)) |