This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Patch: Only use strict COFF for djgpp
- To: snowball3 at bigfoot dot com
- Subject: Patch: Only use strict COFF for djgpp
- From: "H . J . Lu" <hjl at valinux dot com>
- Date: Sat, 19 Aug 2000 10:34:01 -0700
- Cc: nickc at cygnus dot com, Ian Lance Taylor <ian at zembu dot com>,binutils at sourceware dot cygnus dot com
Since djgpp wants the strict COFF and other COFF targets are ok
with the historical behavior, may I proprose this patch?
Thanks.
--
H.J. Lu (hjl@gnu.org)
----
2000-08-19 H.J. Lu <hjl@gnu.org>
* config.in (STRICTCOFF): New for strict COFF.
* configure.in: Define STRICTCOFF for i386-*-msdosdjgpp*,
i386-*-go32* and i386-go32-rtems*.
* configure: Rebuilt.
* config/obj-coff.c (obj_coff_endef): Follow the historical
behavior if STRICTCOFF is not defined.
Index: config.in
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/config.in,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 config.in
--- config.in 1999/06/03 18:01:57 1.1.1.1
+++ config.in 2000/08/19 17:28:05
@@ -166,6 +166,9 @@
/* Using cgen code? */
#undef USING_CGEN
+/* Using strict COFF? */
+#undef STRICTCOFF
+
/* Using i386 COFF? */
#undef I386COFF
Index: configure.in
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/configure.in,v
retrieving revision 1.31
diff -u -p -r1.31 configure.in
--- configure.in 2000/08/16 02:37:52 1.31
+++ configure.in 2000/08/19 17:28:14
@@ -251,7 +251,9 @@ changequote([,])dnl
i386-*-sco3.2*) fmt=coff ;;
i386-*-vsta) fmt=aout ;;
i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
- fmt=coff em=go32;;
+ fmt=coff em=go32
+ AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
+ ;;
i386-*-rtemself*) fmt=elf ;;
i386-*-rtems*) fmt=coff ;;
i386-*-gnu*) fmt=elf ;;
Index: config/obj-coff.c
===================================================================
RCS file: /work/cvs/gnu/binutils/gas/config/obj-coff.c,v
retrieving revision 1.1.1.21
diff -u -p -r1.1.1.21 obj-coff.c
--- config/obj-coff.c 2000/08/16 00:53:47 1.1.1.21
+++ config/obj-coff.c 2000/08/19 17:28:23
@@ -732,13 +732,24 @@ obj_coff_endef (ignore)
case C_ARG:
case C_REGPARM:
case C_FIELD:
+#ifdef STRICTCOFF
case C_MOS:
case C_MOE:
case C_MOU:
case C_EOS:
+#endif
SF_SET_DEBUG (def_symbol_in_progress);
S_SET_SEGMENT (def_symbol_in_progress, absolute_section);
break;
+
+#ifndef STRICTCOFF
+ case C_MOS:
+ case C_MOE:
+ case C_MOU:
+ case C_EOS:
+ S_SET_SEGMENT (def_symbol_in_progress, absolute_section);
+ break;
+#endif
case C_EXT:
case C_WEAKEXT: