diff options
Diffstat (limited to 'gas/read.c')
-rw-r--r-- | gas/read.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -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); |