From 5686517c773c06fbb428991a6353fd6428b66405 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 16 Jul 2003 21:47:36 +0000 Subject: [PATCH] * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false for symbols defined locally plus -Bsymbolic. Tidy logic. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-ia64.c | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7ed0b1e..fafeb74 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2003-07-16 Richard Henderson + + * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false + for symbols defined locally plus -Bsymbolic. Tidy logic. + 2003-07-15 Richard Sandiford * archures.c (bfd_mach_mips7000): New. diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index c78abe7..2c01c97 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -1653,13 +1653,12 @@ elfNN_ia64_dynamic_symbol_p (h, info) || h->root.type == bfd_link_hash_defweak) return TRUE; - if ((!info->executable && (!info->symbolic || info->allow_shlib_undefined)) - || ((h->elf_link_hash_flags - & (ELF_LINK_HASH_DEF_DYNAMIC | ELF_LINK_HASH_REF_REGULAR)) - == (ELF_LINK_HASH_DEF_DYNAMIC | ELF_LINK_HASH_REF_REGULAR))) + /* If it isn't defined locally, then clearly it's dynamic. */ + if ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_REGULAR) == 0) return TRUE; - return FALSE; + /* Identify the cases where name binding rules say it resolves local. */ + return !(info->executable || info->symbolic); } static bfd_boolean -- 2.7.4