summaryrefslogtreecommitdiff
path: root/include/bfdlink.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2005-02-01 01:11:27 +0000
committerAlan Modra <amodra@bigpond.net.au>2005-02-01 01:11:27 +0000
commita681948d33b5d98e9505cddd291c17141d53dce2 (patch)
treefa6923558190287d5e9cfe184c0cb04dac2fbb59 /include/bfdlink.h
parentf7260ce4829b175a2f899914286092aee2b23f8c (diff)
downloadbinutils-redhat-a681948d33b5d98e9505cddd291c17141d53dce2.tar.gz
include/
* bfdlink.h (bfd_link_repair_undef_list): Declare. bfd/ * elf64-ppc.c (ppc64_elf_check_directives): Move undefs list fixup.. * linker.c (bfd_link_repair_undef_list): ..to new function, but don't remove anything but new and undefweak. * elflink.c (_bfd_elf_link_create_dynamic_sections): Override any existing _DYNAMIC. (_bfd_elf_create_dynamic_sections): Formatting. (bfd_elf_record_link_assignment): Call bfd_link_repair_undef_list. (_bfd_elf_merge_symbol): Don't handle as-needed syms here. (struct elf_smash_data): New. (elf_smash_syms): New function. (elf_link_add_object_symbols): Call elf_smash_syms. Don't add unneeded dynamic objects to loaded list. (elf_link_output_extsym): Don't handle as-needed here. Strip bfd_link_hash_new symbols. * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't delref when dynindx is already -1. * elf64-alpha.c (elf64_alpha_output_extsym): Strip bfd_link_hash_new symbols. * elfxx-mips.c (mips_elf_output_extsym): Likewise. ld/ * ld.texinfo: Clarify --as-needed operation.
Diffstat (limited to 'include/bfdlink.h')
-rw-r--r--include/bfdlink.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/bfdlink.h b/include/bfdlink.h
index 9950920a36..789a38a07d 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -1,6 +1,6 @@
/* bfdlink.h -- header file for BFD link routines
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003,
- 2004 Free Software Foundation, Inc.
+ 2004, 2005 Free Software Foundation, Inc.
Written by Steve Chamberlain and Ian Lance Taylor, Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -197,6 +197,10 @@ extern void bfd_link_hash_traverse
extern void bfd_link_add_undef
(struct bfd_link_hash_table *, struct bfd_link_hash_entry *);
+/* Remove symbols from the undefs list that don't belong there. */
+extern void bfd_link_repair_undef_list
+ (struct bfd_link_hash_table *table);
+
struct bfd_sym_chain
{
struct bfd_sym_chain *next;