Re: [PATCH] RFC: Interix resurrection

2012-01-22 Thread Paolo Bonzini

On 01/22/2012 10:16 PM, Douglas Rupp wrote:


May I regenerate libiberty/configure and check it in, or does that
require a libiberty maintainer?


Yes, regenerate everything that is affected.

Paolo



Re: [PATCH] RFC: Interix resurrection

2012-01-22 Thread Douglas Rupp

On 1/22/2012 4:41 AM, Paolo Bonzini wrote:

On 01/01/2012 10:01 PM, Douglas Rupp wrote:

-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.
  ;;


Is this still true?

Build parts are ok.

Paolo


Thanks.
May I regenerate libiberty/configure and check it in, or does that 
require a libiberty maintainer?


Regarding your question(s)
I believe -fpic/PIC is still broken on Interix but I'll have to dig into 
some old notes to clarify the reason.

The comment about shared library relocation is still true.


Re: [PATCH] RFC: Interix resurrection

2012-01-22 Thread Uros Bizjak
Hello!

> Ping.
> Patch retested with 1/18/2012 sources.
>
>> On 1/1/2012 1:01 PM, Douglas Rupp wrote:
>>
>>This is for 32bit, "C" language only.
>>Tested by cross and then cross-native from x86_64 Linux

> Build parts are ok.

Looking at the patch, I didn't spotted anything obviously wrong.

It looks there is no active Interix maintainer listed in MAINTAINERS
file, and since in addition to build parts your patch touches only
Interix specific files, please go ahead and commit the patch to SVN.

So, OK for mainline.

Uros.


Re: [PATCH] RFC: Interix resurrection

2012-01-22 Thread Paolo Bonzini

On 01/01/2012 10:01 PM, Douglas Rupp wrote:

-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.
;;


Is this still true?

Build parts are ok.

Paolo



Re: [PATCH] RFC: Interix resurrection

2012-01-21 Thread Douglas Rupp

Ping.
Patch retested with 1/18/2012 sources.

On 1/1/2012 1:01 PM, Douglas Rupp wrote:

This is for 32bit, "C" language only.
Tested by cross and then cross-native from x86_64 Linux

--Doug





[PATCH] RFC: Interix resurrection

2012-01-01 Thread Douglas Rupp

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