This is for 32bit, "C" language only.
Tested by cross and then cross-native from x86_64 Linux
--Doug
2012-01-01 Douglas B Rupp
/config/mh-interix: Remove as unneeded.
/config/picflag.m4 (i[[34567]]86-*-interix3*):
Change triplet to i[[34567]]86-*-interix[[3-9]]*.
libgcc/config.host (i[34567]86-*-interix3*):
Change triplet to i[34567]86-*-interix[3-9]*.
/configure.ac: Remove reference to mh-interix.
/configure: Regenerate.
/libada/configure: Regenerate.
/libgcc/configure: Regenerate.
/liberty/configure: Regenerate.
config.gcc: (i[34567]86-*-interix3*): Remove from obsolete
configurations. Change triplet to i[34567]86-*-interix[3-9]*.
(extra_options) interix.opt -> i386/interix.opt"
(extra_objs):Add winnt-stubs.o
configure.ac: Add interix to target_os .comm on PE check.
configure: Regenerate.
config/interix3.h: Delete and move bits to..
config/interix.h: Delete and move bits to..
config/i386/i386-interix3.h: Delete and move bits to..
config/i386/i386-interix.h: ..here.
(TARGET_CPU_DEFAULT): Remove redefinition.
(TARGET_ASM_CONSTRUCTOR): Undefine.
(SUBTARGET_SWITCHES): Define for ms-bitfields.
(TARGET_OS_CPP_BUILTINS): Remove __OPENNT. Add __declspec.
(PTRDIFF_TYPE): Define.
(LONG_DOUBLE_TYPE_SIZE): Define.
(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
(SUBTARGET_OVERRIDE_OPTIONS): Remove.
(TARGET_SECTION_TYPE_FLAGS): Define.
(ASM_DECLARE_FUNCTION_NAME): Define.
(ASM_OUTPUT_EXTERNAL): Define.
(ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
(ASM_OUTPUT_ALIGNED_BSS): Define.
(PCC_BITFIELD_TYPE_MATTERS): Define.
(USE_CONST_SECTION): Define.
(SUBTARGET_ENCODE_SECTION_INFO): Remove.
(TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
(SUPPORTS_ONE_ONLY): Remove.
(I386_PE_STRIP_ENCODING): Define.
config/interix.opt: Delete and move bits to..
config/i386/interix.opt: ..here.
(mpe-aligned-commons): Add.
config/i386/t-interix: Add copyright header.
(winnt-stubs.o): Add rule.
testsuite/gcc.dg/builtins-config.h: (HAVE_C99_RUNTIME):
Do not define for Interix.
--- gcc.old/config/mh-interix 2011-12-10 12:49:59.0 -0800
+++ gcc/config/mh-interix 1969-12-31 16:00:00.0 -0800
@@ -1,2 +0,0 @@
-# The shell may not be in /bin.
-SHELL = sh
--- gcc.old/config/picflag.m4 2011-12-10 12:49:59.0 -0800
+++ gcc/config/picflag.m4 2011-12-31 18:32:37.0 -0800
@@ -19,7 +19,7 @@ case "${$2}" in
;;
i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
;;
-i[[34567]]86-*-interix3*)
+i[[34567]]86-*-interix[[3-9]]*)
# Interix 3.x gcc -fpic/-fPIC options generate broken code.
# Instead, we relocate shared libraries at runtime.
;;
--- gcc.old/libgcc/config.host 2011-12-10 12:56:00.0 -0800
+++ gcc/libgcc/config.host 2011-12-19 18:21:15.0 -0800
@@ -634,7 +634,7 @@ x86_64-*-mingw*)
tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file}
i386/t-slibgcc-cygming i386/t-mingw32 t-dfprules i386/t-crtfm i386/t-chkstk"
extra_parts="$extra_parts crtfastmath.o"
;;
-i[34567]86-*-interix3*)
+i[34567]86-*-interix[3-9]*)
tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
;;
ia64*-*-elf*)
--- gcc.old/configure.ac2011-12-10 13:06:46.0 -0800
+++ gcc/configure.ac2011-12-12 19:04:46.0 -0800
@@ -1077,9 +1079,6 @@ case "${host}" in
*-mingw*)
host_makefile_frag="config/mh-mingw"
;;
- *-interix*)
-host_makefile_frag="config/mh-interix"
-;;
hppa*-hp-hpux10*)
host_makefile_frag="config/mh-pa-hpux10"
;;
--- gcc.old/gcc/config.gcc 2011-12-10 13:05:49.0 -0800
+++ gcc/gcc/config.gcc 2011-12-31 18:25:02.0 -0800
@@ -243,7 +243,6 @@ md_file=
# Obsolete configurations.
case ${target} in
alpha*-dec-osf5.1* \
- | i[34567]86-*-interix3* \
| mips-sgi-irix6.5\
| mips*-*-openbsd*\
| score-* \
@@ -1472,11 +1471,11 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
;;
esac
;;
-i[34567]86-*-interix3*)
- tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h
i386/i386-interix.h i386/i386-interix3.h interix.h interix3.h"
+i[34567]86-*-interix[3-9]*)
+ tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h
i386/i386-interix.h"
tmake_file="${tmake_file} i386/t-interix"
- extra_options="${extra_options} rpath.opt interix.opt"
- extra_objs=winnt.o
+ extra_options="${extra_options} rpath.opt i386/interix.opt"
+ extra_objs="winnt.o winnt-stubs.o"
target_gtfiles="\$(srcdir)/config/i386/win