diff options
author | Alan Modra <amodra@gmail.com> | 2005-02-01 01:11:27 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-02-01 01:11:27 +0000 |
commit | 77cfaee698fa7e54d8d7ff28f433fcfaeaf5acef (patch) | |
tree | b003dfda8247b72ef7ccbc0c8b48e4048be8f6a7 /bfd/elf64-alpha.c | |
parent | c4db44a43fdfc8eab01846bcb89204002cde2de3 (diff) | |
download | gdb-77cfaee698fa7e54d8d7ff28f433fcfaeaf5acef.zip gdb-77cfaee698fa7e54d8d7ff28f433fcfaeaf5acef.tar.gz gdb-77cfaee698fa7e54d8d7ff28f433fcfaeaf5acef.tar.bz2 |
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 'bfd/elf64-alpha.c')
-rw-r--r-- | bfd/elf64-alpha.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index a55ebe6..f0c22d9 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -1,5 +1,5 @@ /* Alpha specific support for 64-bit ELF - Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 + Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. Contributed by Richard Henderson <rth@tamu.edu>. @@ -2741,7 +2741,9 @@ elf64_alpha_output_extsym (h, data) if (h->root.indx == -2) strip = FALSE; - else if ((h->root.def_dynamic || h->root.ref_dynamic) + else if ((h->root.def_dynamic + || h->root.ref_dynamic + || h->root.root.type == bfd_link_hash_new) && !h->root.def_regular && !h->root.ref_regular) strip = TRUE; |