From 2719f880709e376b2d6623bbda1c3520ba6eb29e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 7 Feb 2001 06:19:58 +0000 Subject: [PATCH] 2001-02-06 H.J. Lu * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and internal symbols are not dynamic. * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise. --- bfd/ChangeLog | 6 ++++++ bfd/elf64-alpha.c | 8 ++++++-- bfd/elfxx-ia64.c | 8 ++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index edfdfbb8a4..599734e0e6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2001-02-06 H.J. Lu + + * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Only hidden and + internal symbols are not dynamic. + * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise. + 2001-02-06 Nick Clifton * Makefile.am (BFD64_BACKENDS_CFILES): Remove elf64-ia64.c, so diff --git a/bfd/elf64-alpha.c b/bfd/elf64-alpha.c index 197dcffa8d..9808c8f2e3 100644 --- a/bfd/elf64-alpha.c +++ b/bfd/elf64-alpha.c @@ -240,8 +240,12 @@ alpha_elf_dynamic_symbol_p (h, info) if (h->dynindx == -1) return false; - if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) - return false; + switch (ELF_ST_VISIBILITY (h->other)) + { + case STV_INTERNAL: + case STV_HIDDEN: + return false; + } if (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_defweak) diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index 6751e4acc1..0ef08c7742 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -1181,8 +1181,12 @@ elfNN_ia64_dynamic_symbol_p (h, info) if (h->dynindx == -1) return false; - if (ELF_ST_VISIBILITY (h->other) != STV_DEFAULT) - return false; + switch (ELF_ST_VISIBILITY (h->other)) + { + case STV_INTERNAL: + case STV_HIDDEN: + return false; + } if (h->root.type == bfd_link_hash_undefweak || h->root.type == bfd_link_hash_defweak) -- 2.34.1