From: Alan Modra Date: Mon, 23 Dec 2002 11:53:59 +0000 (+0000) Subject: * elflink.h (elf_link_output_extsym): Heed strip_discarded. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3b7ae8578a2b9a9ec43c44b92b9565dc460aa7f5;p=pf3gnuchains%2Fpf3gnuchains3x.git * elflink.h (elf_link_output_extsym): Heed strip_discarded. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 106eb2cd9a..df7a736b37 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2002-12-23 Alan Modra + + * elflink.h (elf_link_output_extsym): Heed strip_discarded. + 2002-12-23 Nick Clifton * archures.c (bfd_arch_get_compatible): Add third parameter diff --git a/bfd/elflink.h b/bfd/elflink.h index ac3cd111e5..060b129d35 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -6123,11 +6123,16 @@ elf_link_output_extsym (h, data) && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0 && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_REGULAR) == 0) strip = TRUE; - else if (finfo->info->strip == strip_all - || (finfo->info->strip == strip_some - && bfd_hash_lookup (finfo->info->keep_hash, - h->root.root.string, - FALSE, FALSE) == NULL)) + else if (finfo->info->strip == strip_all) + strip = TRUE; + else if (finfo->info->strip == strip_some + && bfd_hash_lookup (finfo->info->keep_hash, + h->root.root.string, FALSE, FALSE) == NULL) + strip = TRUE; + else if (finfo->info->strip_discarded + && (h->root.type == bfd_link_hash_defined + || h->root.type == bfd_link_hash_defweak) + && elf_discarded_section (h->root.u.def.section)) strip = TRUE; else strip = FALSE;