2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Sat, 19 Jul 2003 06:41:42 +0000 (06:41 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sat, 19 Jul 2003 06:41:42 +0000 (06:41 +0000)
* elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.

bfd/ChangeLog
bfd/elflink.c

index de3fd64280776642720e1c6873631c65e001a297..845ae1da23b9aeb8c7bd7da5fa213cae1fc7f1f2 100644 (file)
@@ -1,3 +1,7 @@
+2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
+
+       * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
+
 2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
 
        * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
index 744641433c8f7de65671f7a145228723fa31ec1f..2fd588ae1101c2873d09d79386037780494b32a8 100644 (file)
@@ -2494,10 +2494,6 @@ _bfd_elf_dynamic_symbol_p (h, info, ignore_protected)
         || h->root.type == bfd_link_hash_warning)
     h = (struct elf_link_hash_entry *) h->root.u.i.link;
 
-  /* 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;
-
   /* If it was forced local, then clearly it's not dynamic.  */
   if (h->dynindx == -1)
     return FALSE;
@@ -2530,6 +2526,10 @@ _bfd_elf_dynamic_symbol_p (h, info, ignore_protected)
       break;
     }
 
+  /* 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;
+
   /* Otherwise, the symbol is dynamic if binding rules don't tell
      us that it remains local.  */
   return !binding_stays_local_p;