2004-11-08 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 9 Nov 2004 01:01:17 +0000 (01:01 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 9 Nov 2004 01:01:17 +0000 (01:01 +0000)
PR 528
* symbols.c (resolve_symbol_value): Convert weak symbols only
for Windows PECOFF.
(symbol_equated_reloc_p): Don't equate weaks when relocating
only for Windows PECOFF.

gas/ChangeLog
gas/symbols.c

index 46acfb776507e2256e8e97054b4827e1394bdb99..808fe69e831cc9fba3e2ac4323d9424240e2ba10 100644 (file)
@@ -1,3 +1,11 @@
+2004-11-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR 528
+       * symbols.c (resolve_symbol_value): Convert weak symbols only
+       for Windows PECOFF.
+       (symbol_equated_reloc_p): Don't equate weaks when relocating
+       only for Windows PECOFF.
+
 2004-11-08  Tomer Levi  <Tomer.Levi@nsc.com>
 
        * config/tc-crx.c (print_insn): Check and set insn_addr.
@@ -16,7 +24,7 @@
 2004-11-08  Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
 
        * symbols.c (any_external_name): Define.
-       (resolve_symbol_value): Do not convert weak symbols.
+       (resolve_symbol_value): Convert weak symbols.
        (S_SET_EXTERNAL): Support any_external_name.
        (S_SET_NAME): Qualify parameter const.
        (symbol_equated_reloc_p): Don't equate weaks when relocating.
index 135c7ef04b9220cae563bd92a644bc58d328dbd6..04e239a20627154a1c7b2ab51f938160f2de73b4 100644 (file)
@@ -995,7 +995,7 @@ resolve_symbol_value (symbolS *symp)
             relocation to be against the symbol to which this symbol
             is equated.  */
          if (! S_IS_DEFINED (add_symbol)
-#if defined(BFD_ASSEMBLER) || defined(S_IS_WEAK)
+#if defined (OBJ_COFF) && defined (TE_PE) && (defined(BFD_ASSEMBLER) || defined(S_IS_WEAK))
              || S_IS_WEAK (add_symbol)
 #endif
              || S_IS_COMMON (add_symbol))
@@ -2239,7 +2239,7 @@ symbol_equated_reloc_p (symbolS *s)
      resolve_symbol_value to flag expression syms that have been
      equated.  */
   return (s->sy_value.X_op == O_symbol
-#if defined(BFD_ASSEMBLER) || defined(S_IS_WEAK)
+#if defined (OBJ_COFF) && defined (TE_PE) && (defined(BFD_ASSEMBLER) || defined(S_IS_WEAK))
          && ! S_IS_WEAK (s)
 #endif
          && ((s->sy_resolved && s->sy_value.X_op_symbol != NULL)