From Andrew Crabtree <andrewc@typhoon.rose.hp.com>:
authorIan Lance Taylor <ian@airs.com>
Mon, 1 Jun 1998 18:10:16 +0000 (18:10 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 1 Jun 1998 18:10:16 +0000 (18:10 +0000)
* config/te-go32.h (TE_GO32): Define.
* config/tc-i386.h (LOCAL_LABEL): Don't define if TE_GO32.

gas/ChangeLog
gas/config/tc-i386.h

index 825fa22..23f4218 100644 (file)
@@ -1,3 +1,9 @@
+Mon Jun  1 14:08:35 1998  Ian Lance Taylor  <ian@cygnus.com>
+
+       From Andrew Crabtree <andrewc@typhoon.rose.hp.com>:
+       * config/te-go32.h (TE_GO32): Define.
+       * config/tc-i386.h (LOCAL_LABEL): Don't define if TE_GO32.
+
 Sun May 31 15:43:06 1998  Doug Evans  <devans@canuck.cygnus.com>
 
        Implement .func/.endfunc pseudo-ops.
index 6d4f6b4..42bab63 100644 (file)
@@ -61,10 +61,15 @@ extern int tc_i386_fix_adjustable PARAMS ((struct fix *));
    checked here.  I am not sure if some of the others are ever used with
    pcrel, but it is easier to be safe than sorry. */
 
-#define TC_RELOC_RTSYM_LOC_FIXUP(FIX)  \
-  ((FIX)->fx_r_type != BFD_RELOC_386_PLT32 \
-   && (FIX)->fx_r_type != BFD_RELOC_386_GOT32 \
-   && (FIX)->fx_r_type != BFD_RELOC_386_GOTPC)
+#define TC_RELOC_RTSYM_LOC_FIXUP(FIX)                          \
+  ((FIX)->fx_r_type != BFD_RELOC_386_PLT32                     \
+   && (FIX)->fx_r_type != BFD_RELOC_386_GOT32                  \
+   && (FIX)->fx_r_type != BFD_RELOC_386_GOTPC                  \
+   && ((FIX)->fx_addsy == NULL                                 \
+       || (! S_IS_EXTERNAL ((FIX)->fx_addsy)                   \
+          && ! S_IS_WEAK ((FIX)->fx_addsy)                     \
+          && S_IS_DEFINED ((FIX)->fx_addsy)                    \
+          && ! S_IS_COMMON ((FIX)->fx_addsy))))
 
 #define TARGET_ARCH            bfd_arch_i386
 
@@ -141,12 +146,14 @@ extern int tc_coff_sizemachdep PARAMS ((fragS *frag));
 #ifndef BFD_ASSEMBLER
 #ifndef OBJ_AOUT
 #ifndef TE_PE
+#ifndef TE_GO32
 /* Local labels starts with .L */
 #define LOCAL_LABEL(name) (name[0] == '.' \
                 && (name[1] == 'L' || name[1] == 'X' || name[1] == '.'))
 #endif
 #endif
 #endif
+#endif
 
 #define LOCAL_LABELS_FB 1