(obj_crawl_symbol_chain): Skip defined symbols which resolve to symbolic values.
authorNick Clifton <nickc@redhat.com>
Mon, 15 Dec 2003 12:02:38 +0000 (12:02 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 15 Dec 2003 12:02:38 +0000 (12:02 +0000)
gas/ChangeLog
gas/config/obj-aout.c

index 710a435..4f52e87 100644 (file)
@@ -1,3 +1,8 @@
+2003-12-15  Nick Clifton  <nickc@redhat.com>
+
+       * config/obj-aout.c (obj_crawl_symbol_chain): Skip defined
+       symbols which resolve to symbolic values.
+
 2003-12-13  Alan Modra  <amodra@bigpond.net.au>
 
        * config/obj-elf.c: Convert to C90, remove unneeded prototypes and
index 3a73d75..6e5fd29 100644 (file)
@@ -469,9 +469,13 @@ obj_crawl_symbol_chain (headers)
       resolve_symbol_value (symbolP);
 
       /* Skip symbols which were equated to undefined or common
-        symbols.  */
+        symbols.  Also skip defined uncommon symbols which can
+        be resolved since in this case they should have been
+        resolved to a non-symbolic constant.  */
       if (symbolP->sy_value.X_op == O_symbol
-         && (! S_IS_DEFINED (symbolP) || S_IS_COMMON (symbolP)))
+         && (! S_IS_DEFINED (symbolP)
+             || S_IS_COMMON (symbolP)
+             || symbol_resolved_p (symbolP)))
        {
          *symbolPP = symbol_next (symbolP);
          continue;