2001-03-28 H.J. Lu <hjl@gnu.org>
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 28 Mar 2001 17:24:01 +0000 (17:24 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 28 Mar 2001 17:24:01 +0000 (17:24 +0000)
* read.c (equals): Set to local for COFF only if it hasn't been
defined before.

gas/ChangeLog
gas/read.c

index 6ae757f023f0796a92cc184cf2b17cb9ca20c049..ca08411f9b6b8558e6632ff7fe0b9a4caa20c12f 100644 (file)
@@ -1,3 +1,8 @@
+2001-03-28  H.J. Lu  <hjl@gnu.org>
+
+       * read.c (equals): Set to local for COFF only if it hasn't been
+       defined before.
+
 2001-03-28  Alan Modra  <alan@linuxcare.com.au>
 
        * config/tc-hppa.c (DEFAULT_LEVEL): Define.
index cb4c7e3f0e7864da69f76614a897ffb515a2d4bd..beb761f37179be0d6567254bfe433baa0fdb09c1 100644 (file)
@@ -4857,6 +4857,13 @@ equals (sym_name, reassign)
     }
   else
     {
+#ifdef OBJ_COFF
+      int local;
+
+      symbolP = symbol_find (sym_name);
+      local = symbolP == NULL;
+      if (local)
+#endif /* OBJ_COFF */
       symbolP = symbol_find_or_make (sym_name);
       /* Permit register names to be redefined.  */
       if (!reassign
@@ -4866,7 +4873,8 @@ equals (sym_name, reassign)
 
 #ifdef OBJ_COFF
       /* "set" symbols are local unless otherwise specified.  */
-      SF_SET_LOCAL (symbolP);
+      if (local)
+       SF_SET_LOCAL (symbolP);
 #endif /* OBJ_COFF */
 
       pseudo_set (symbolP);