1999-09-11 Donn Terry <donn@interix.com>
authorIan Lance Taylor <ian@airs.com>
Sat, 11 Sep 1999 23:46:09 +0000 (23:46 +0000)
committerIan Lance Taylor <ian@airs.com>
Sat, 11 Sep 1999 23:46:09 +0000 (23:46 +0000)
* config.bfd (i[3456]86-*-interix*): Set targ_cflags to
-DSTRICT_PE_FORMAT.
* coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
than __INTERIX.
(coff_classify_symbol): Re-revert 1999-08-08 patch if
STRICT_PE_FORMAT.

bfd/ChangeLog
bfd/coffcode.h
bfd/config.bfd

index 94d87cc..6a295e1 100644 (file)
@@ -7,6 +7,13 @@
 
 1999-09-11  Donn Terry  <donn@interix.com>
 
+       * config.bfd (i[3456]86-*-interix*): Set targ_cflags to
+       -DSTRICT_PE_FORMAT.
+       * coffcode.h (styp_to_sec_flags): Check STRICT_PE_FORMAT rather
+       than __INTERIX.
+       (coff_classify_symbol): Re-revert 1999-08-08 patch if
+       STRICT_PE_FORMAT.
+
        * libpei.h: New file, broken out of peicode.h.
        * peigen.c: New file, broken out of peicode.h.
        * peicode.h: A bunch of code moved out to libpei.h and peigen.c.
index dfedf23..f48886e 100644 (file)
@@ -827,8 +827,7 @@ styp_to_sec_flags (abfd, hdr, name, section)
                      switch (aux.x_scn.x_comdat)
                        {
                        case IMAGE_COMDAT_SELECT_NODUPLICATES:
-/* FIXME: This is bogus.  It breaks cross-compilers.  */
-#ifdef __INTERIX
+#ifdef STRICT_PE_FORMAT
                          sec_flags |= SEC_LINK_DUPLICATES_ONE_ONLY;
 #else
                          sec_flags &= ~SEC_LINK_ONCE;
@@ -849,8 +848,7 @@ styp_to_sec_flags (abfd, hdr, name, section)
                          break;
 
                        case IMAGE_COMDAT_SELECT_ASSOCIATIVE:
-/* FIXME: This is bogus.  It breaks cross-compilers.  */
-#ifdef __INTERIX
+#ifdef STRICT_PE_FORMAT
                          /* FIXME: This is not currently implemented.  */
                          sec_flags |= SEC_LINK_DUPLICATES_DISCARD;
 #else
@@ -4265,7 +4263,7 @@ coff_classify_symbol (abfd, syment)
          return COFF_SYMBOL_LOCAL;
        }
 
-#if 0
+#ifdef STRICT_PE_FORMAT
       /* This is correct for Microsoft generated objects, but it
          breaks gas generated objects.  */
 
index afa5de7..ac52a1f 100644 (file)
@@ -311,6 +311,8 @@ case "${targ}" in
   i[3456]86-*-interix*)
     targ_defvec=i386pei_vec
     targ_selvecs="i386pe_vec"
+    # FIXME: This should eventually be checked at runtime.
+    targ_cflags=-DSTRICT_PE_FORMAT
     ;;
   i[3456]86-*-mingw32* | i[3456]86-*-cygwin* | i[3456]86-*-winnt | i[3456]86-*-pe)
     targ_defvec=i386pe_vec