Re: [Bug fortran/52846] [F2008] Support submodules - part 2/3 - redux
VMS hasn't had a 3 character filename extension limit since before VAX/VMS version 4.0 was released in 1984. On 07/16/2015 01:41 PM, Steve Kargl wrote: On Thu, Jul 16, 2015 at 05:08:50PM +0200, Paul Richard Thomas wrote: Please find attached a new version of the patch that fixes the inconsistency with the standard, pointed out by Reinhold. It is weird but a read the appropriate part of the standard several times and simply did not pick up the critical information :-) Note that the delimiter used for submodule file name is '@', whereas the internal identifiers is '.'. I have added a procedure to cleanup submodules produced by the testsuite and implemented them in submodule_[1-8].f90. Submodule_8.f90 tests the resolution of the spurious error found by Reinhold. Booststraps and regtests on FC_21/x86_64 - OK for trunk? Patch looks ok to me. One item I wonder if we need to care about is old filesytems (FAT) or operating systems (VMS) with a 3 character file extension limit.
Re: [PATCH] ppc64 check for incompatible setting of minimal-toc
On 9/11/20 5:35 AM, Alexandre Oliva wrote: I guess this means we withdraw the patch. Thanks again! The original motivation for this was a failing fsf-testsuite-gcc test on vxworks7. If the patch is wrong, then I suppose the alternative is to modify the test, or else kill it?
Re: [PATCH ping 3] ppc64 check for incompatible setting of minimal-toc
Greetings yet again, It would be greatly appreciated if you could look at this patch when you have a minute. --Doug On 6/17/20 2:14 PM, Douglas B Rupp wrote: Greetings again, Could you please look at this patch when convenient? --Doug On 6/1/20 10:13 AM, Douglas B Rupp wrote: Greetings, Curious if you've had a chance to look at this patch yet? --Doug On 5/18/20 4:02 PM, Douglas B Rupp wrote: Greetings, The attached patch is proposed for rs6000/linux64.h. The problem it addresses is that the current checking only tests for existence not for an incompatible/compatible setting. For example: $ powerpc64-linux-gnu-gcc -mcmodel=medium -mminimal-toc foo.c is an incompatible set of switches however $ powerpc64-linux-gnu-gcc -mcmodel=medium -mno-minimal-toc foo.c is ok. Currently both are reported as incompatible. --Douglas Rupp, AdaCore
[PATCH] ppc64 check for incompatible setting of minimal-toc
Greetings, The attached patch is proposed for rs6000/linux64.h. The problem it addresses is that the current checking only tests for existence not for an incompatible/compatible setting. For example: $ powerpc64-linux-gnu-gcc -mcmodel=medium -mminimal-toc foo.c is an incompatible set of switches however $ powerpc64-linux-gnu-gcc -mcmodel=medium -mno-minimal-toc foo.c is ok. Currently both are reported as incompatible. --Douglas Rupp, AdaCore diff --git gcc/config/rs6000/linux64.h gcc/config/rs6000/linux64.h index 34776c8421e..6728006d208 100644 --- gcc/config/rs6000/linux64.h +++ gcc/config/rs6000/linux64.h @@ -134,8 +134,10 @@ extern int dot_symbols; rs6000_isa_flags |= OPTION_MASK_POWERPC64; \ error ("%<-m64%> requires a PowerPC64 cpu"); \ } \ - if ((rs6000_isa_flags_explicit \ - & OPTION_MASK_MINIMAL_TOC) != 0) \ + if (((rs6000_isa_flags_explicit \ + & OPTION_MASK_MINIMAL_TOC) != 0) && \ + ((rs6000_isa_flags\ + & OPTION_MASK_MINIMAL_TOC) != 0)) \ { \ if (global_options_set.x_rs6000_current_cmodel \ && rs6000_current_cmodel != CMODEL_SMALL) \ changelog.toc Description: application/cdrdao-toc
[PATCH] Tweak some powerpc tests for altivec_ok and vsx_ok
Greetings, The proposed patch adds some checking for vsx and altivec being supported on several powerpc tests. For vxworks, we have to spec particular cpus, so these tests fail when they should show be N/A. --Douglas Rupp, AdaCore diff --git gcc/testsuite/gcc.target/powerpc/builtins-1-be-folded.c gcc/testsuite/gcc.target/powerpc/builtins-1-be-folded.c index 26d10a726e5..f56607a7e4a 100644 --- gcc/testsuite/gcc.target/powerpc/builtins-1-be-folded.c +++ gcc/testsuite/gcc.target/powerpc/builtins-1-be-folded.c @@ -1,5 +1,6 @@ /* { dg-do compile { target { powerpc-*-* } } } */ /* { dg-options "-mdejagnu-cpu=power8 -O2 -mfold-gimple" } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ /* Based on builtins-1-le.c ; ensure that the power8 builtins are accepted by the compiler, at O2 with gimple folding enabled. */ diff --git gcc/testsuite/gcc.target/powerpc/builtins-1.c gcc/testsuite/gcc.target/powerpc/builtins-1.c index 73f8fb54cff..3879990f253 100644 --- gcc/testsuite/gcc.target/powerpc/builtins-1.c +++ gcc/testsuite/gcc.target/powerpc/builtins-1.c @@ -1,6 +1,7 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-options "-mdejagnu-cpu=power8 -O0 -mno-fold-gimple -dp" } */ /* { dg-prune-output "gimple folding of rs6000 builtins has been disabled." } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ #include diff --git gcc/testsuite/gcc.target/powerpc/builtins-5.c gcc/testsuite/gcc.target/powerpc/builtins-5.c index c5f5c31b45f..0d167dd002b 100644 --- gcc/testsuite/gcc.target/powerpc/builtins-5.c +++ gcc/testsuite/gcc.target/powerpc/builtins-5.c @@ -1,6 +1,7 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-options "-mdejagnu-cpu=power8 -O0 -mno-fold-gimple -dp" } */ /* { dg-prune-output "gimple folding of rs6000 builtins has been disabled." } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ #include diff --git gcc/testsuite/gcc.target/powerpc/pr70010-4.c gcc/testsuite/gcc.target/powerpc/pr70010-4.c index c575cff1b52..87f07adf783 100644 --- gcc/testsuite/gcc.target/powerpc/pr70010-4.c +++ gcc/testsuite/gcc.target/powerpc/pr70010-4.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ /* { dg-options "-O2 -mvsx" } */ vector int c, a, b; diff --git gcc/testsuite/gcc.target/powerpc/pr70010.c gcc/testsuite/gcc.target/powerpc/pr70010.c index 679034fae43..62a4cd72bf1 100644 --- gcc/testsuite/gcc.target/powerpc/pr70010.c +++ gcc/testsuite/gcc.target/powerpc/pr70010.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ /* { dg-options "-O2 -finline-functions -Wno-psabi -mvsx" } */ /* { dg-final { scan-assembler {\mbl \.?vadd_no_vsx\M} } } */ diff --git gcc/testsuite/gcc.target/powerpc/pr83926.c gcc/testsuite/gcc.target/powerpc/pr83926.c index 2490e1d48ba..8681cd51864 100644 --- gcc/testsuite/gcc.target/powerpc/pr83926.c +++ gcc/testsuite/gcc.target/powerpc/pr83926.c @@ -1,6 +1,8 @@ /* { dg-do compile { target { powerpc*-*-* } } } */ /* { dg-options "-O2 -mdejagnu-cpu=power8 -mno-fold-gimple" } */ /* { dg-prune-output "gimple folding of rs6000 builtins has been disabled." } */ +/* { dg-require-effective-target powerpc_altivec_ok } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ __attribute__ ((altivec(vector__))) long long sdiv (__attribute__ ((altivec(vector__))) long long a, 2020-05-19 Douglas B Rupp testsuite/ * gcc.target/powerpc/builtins-1-be-folded.c: Check powerpc_altivec_ok. * gcc.target/powerpc/builtins-1.c: Likewise. * gcc.target/powerpc/builtins-5.c: Likewise. * gcc.target/powerpc/pr70010-4.c: Check powerpc_vsx_ok. * gcc.target/powerpc/pr70010.c: Likewise. * gcc.target/powerpc/pr83926.c: Check powerpc_{alitvec,vsx}_ok. :
Re: [PATCH] Tweak some powerpc tests for altivec_ok and vsx_ok
On 5/19/20 1:53 PM, Segher Boessenkool wrote: How can altivec not be supported when you use -mcpu=power8? For the test in question: builtins-1-be-folded.c: The VxWorks header file altivec.h is included by builtins-1.fold.h and the error is: altivec.h:34:2: error: #error Use the "-maltivec" flag to enable PowerPC AltiVec support On VxWorks the kernel has to be configured for altivec regardless of the -mcpu switch, and for unrelated reasons we cannot configure in altivec at this time for our nightly testing.
Re: [PATCH] Tweak some powerpc tests for altivec_ok and vsx_ok
On 5/19/20 3:03 PM, Segher Boessenkool wrote: This is a compile test, so it does not matter at all what the kernel is doing or not doing. And the -mcpu=power8 flag should enable altivec. Apparently it doesn't for you, but why is that? It's likely the specs file we use for the kernel we are using for testing with. %{mcpu=604:%{!maltivec:%{!mno-altivec:-mno-altivec}}} %{mcpu=604:%{!mvsx:%{!mno-vsx:-mno-vsx}}} %{!mcpu=*:%{!maltivec:%{!mno-altivec:-mno-altivec}}} %{!mcpu=*:%{!mvsx:%{!mno-vsx:-mno-vsx}}} and '--with-cpu=604' This shouldn't be fixed by whack-a-mole on individual testcases. Perhaps a SUBTARGET_OVERRIDE incantation might work? Any ideas or advice you might have would be welcome.
Re: [PATCH] Tweak some powerpc tests for altivec_ok and vsx_ok
Apologies on this test, the problem is -mdejagnu-cpu doesn't get matched by the spec logic If I pass -mcpu=power8, then indeed the test passes fine. I'm not sure how to fix this cleanly.
Re: [PATCH] Tweak some powerpc tests for altivec_ok and vsx_ok
On 5/20/20 9:46 AM, Segher Boessenkool wrote: So, which spec are those 4 lines above from? From -with-specs= in the configure command. We use that capability extensively for VxWorks. We have as DRIVER_SELF_SPECS (see rs6000.h) #define DRIVER_SELF_SPECS \ "%{mdejagnu-cpu=*: %Interesting. I've been testing on a modified gcc-9, and I don't have the DRIVER_SELF_SPECS for rs6000.h. Possibly this problem will be solved by backporting this macro? I can't yet run the fsf-testsuite for vxworks on gcc-11 until many more vxworks specific hunks have been ported. It can of course be fixed by adding %{mdejagnu-cpu=604:%{!maltivec:%{!mno-altivec:-mno-altivec}}} %{mdejagnu-cpu=604:%{!mvsx:%{!mno-vsx:-mno-vsx}}} %{!mdejagnu-cpu=*:%{!maltivec:%{!mno-altivec:-mno-altivec}}} %{!mdejagnu-cpu=*:%{!mvsx:%{!mno-vsx:-mno-vsx}}} to your specs, but that is band-aid on top of band-aid. Indeed Why do you want to add -mno-altivec -mno-vsx whenever possible, anyway? Clearly these aren't supported in the VxWorks kernel and adding them helps with getting a cleaner testsuite result. If you're asking beyond those reasons, I'll have to dig a bit more to give an answer.
Re: [PATCH] Tweak some powerpc tests for altivec_ok and vsx_ok
Backporting the DRIVER_SELF_SPECS change fixed all the mdejagnu-cpu related tests. Thanks for your help on this. Consider this patch request withdrawn. I'll resubmit one for the remaining failing tests for discussion. --Doug
[PATCH] Tweak some powerpc tests for vsx
Greetings, Here are a few proposed fsf-testsuite test tweaks for powerpc. Since there's no mcpu to validate the vsx extensions, may I suggest it is reasonable to check to see if they are supported? Your critique and criticism is of course welcomed. Douglas Rupp, AdaCore diff --git gcc/testsuite/gcc.target/powerpc/pr70010-4.c gcc/testsuite/gcc.target/powerpc/pr70010-4.c index c575cff1b52..87f07adf783 100644 --- gcc/testsuite/gcc.target/powerpc/pr70010-4.c +++ gcc/testsuite/gcc.target/powerpc/pr70010-4.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ /* { dg-options "-O2 -mvsx" } */ vector int c, a, b; diff --git gcc/testsuite/gcc.target/powerpc/pr70010.c gcc/testsuite/gcc.target/powerpc/pr70010.c index 679034fae43..62a4cd72bf1 100644 --- gcc/testsuite/gcc.target/powerpc/pr70010.c +++ gcc/testsuite/gcc.target/powerpc/pr70010.c @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target powerpc_vsx_ok } */ /* { dg-options "-O2 -finline-functions -Wno-psabi -mvsx" } */ /* { dg-final { scan-assembler {\mbl \.?vadd_no_vsx\M} } } */ 2020-05-20 Douglas B Rupp testsuite/ * gcc.target/powerpc/pr70010-4.c: Check powerpc_vsx_ok. * gcc.target/powerpc/pr70010.c: Likewise.
[PATCH] More c++ math reject macros
AVE_IEEEFP_H +# include +#endif +#undef hypotf + +int +main () +{ + + void (*f)(void) = (void (*)(void))hypotf; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + glibcxx_cv_func_hypotf_use=yes + +else + glibcxx_cv_func_hypotf_use=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_hypotf_use" >&5 +$as_echo "$glibcxx_cv_func_hypotf_use" >&6; } + if test "x$glibcxx_cv_func_hypotf_use" = xyes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_HYPOTF 1 +_ACEOF + + fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for frexpf declaration" >&5 +$as_echo_n "checking for frexpf declaration... " >&6; } +if ${glibcxx_cv_func_frexpf_use+:} false; then : + $as_echo_n "(cached) " >&6 +else + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifdef HAVE_IEEEFP_H +# include +#endif +#undef frexpf + +int +main () +{ + + void (*f)(void) = (void (*)(void))frexpf; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + glibcxx_cv_func_frexpf_use=yes + +else + glibcxx_cv_func_frexpf_use=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_func_frexpf_use" >&5 +$as_echo "$glibcxx_cv_func_frexpf_use" >&6; } + if test "x$glibcxx_cv_func_frexpf_use" = xyes; then +cat >>confdefs.h <<_ACEOF +#define HAVE_FREXPF 1 +_ACEOF + + fi + + + ;; *) as_fn_error $? "No support for this host/target combination." "$LINENO" 5 diff --git libstdc++-v3/crossconfig.m4 libstdc++-v3/crossconfig.m4 index fe182883536..313f84d05f4 100644 --- libstdc++-v3/crossconfig.m4 +++ libstdc++-v3/crossconfig.m4 @@ -299,7 +299,8 @@ dnl # macros, in which case the tests might fail, and we might have to dnl # switch to more elaborate tests. GLIBCXX_CHECK_MATH_DECLS([ acosl asinl atan2l atanl ceill cosl coshl expl fabsl floorl fmodl - frexpl ldexpl log10l logl modfl powl sinl sinhl sqrtl tanl tanhl]) + frexpl ldexpl log10l logl modfl powl sinl sinhl sqrtl tanl tanhl hypotl + ldexpf modff hypotf frexpf]) dnl # sincosl is the only one missing here, compared with the *l dnl # functions in the list guarded by dnl # long_double_math_on_this_cpu in configure.ac, right after 2020-05-20 Douglas B Rupp libstdc++v3/ * crossconfig.m4 (GLIBCXX_CHECK_MATH_DECL): More reject macros. * configure: Rebuild.
Re: [PATCH] More c++ math reject macros
Apologies! Will do so in the future. Doug On 6/1/20 6:15 AM, Jonathan Wakely wrote: Please CC libstd...@gcc.gnu.org on all libstdc++ patches, even if the approval is coming from a target port maintainer, not from a libstdc++ maintainer. Thanks.
Re: [PATCH ping] ppc64 check for incompatible setting of minimal-toc
Greetings, Curious if you've had a chance to look at this patch yet? --Doug On 5/18/20 4:02 PM, Douglas B Rupp wrote: Greetings, The attached patch is proposed for rs6000/linux64.h. The problem it addresses is that the current checking only tests for existence not for an incompatible/compatible setting. For example: $ powerpc64-linux-gnu-gcc -mcmodel=medium -mminimal-toc foo.c is an incompatible set of switches however $ powerpc64-linux-gnu-gcc -mcmodel=medium -mno-minimal-toc foo.c is ok. Currently both are reported as incompatible. --Douglas Rupp, AdaCore
Re: [PATCH ping 2] ppc64 check for incompatible setting of minimal-toc
Greetings again, Could you please look at this patch when convenient? --Doug On 6/1/20 10:13 AM, Douglas B Rupp wrote: Greetings, Curious if you've had a chance to look at this patch yet? --Doug On 5/18/20 4:02 PM, Douglas B Rupp wrote: Greetings, The attached patch is proposed for rs6000/linux64.h. The problem it addresses is that the current checking only tests for existence not for an incompatible/compatible setting. For example: $ powerpc64-linux-gnu-gcc -mcmodel=medium -mminimal-toc foo.c is an incompatible set of switches however $ powerpc64-linux-gnu-gcc -mcmodel=medium -mno-minimal-toc foo.c is ok. Currently both are reported as incompatible. --Douglas Rupp, AdaCore
Re: [Ada] Remove VMS specific files
On 07/31/2014 08:08 AM, Joseph S. Myers wrote: On Thu, 31 Jul 2014, Arnaud Charlet wrote: This is part of the Ada front-end clean ups related to the removal of VMS support. More changes to come. Will those include obsoletion of the VMS ports (and with them, associated code such as vmsdbgout.c) for GCC as a whole? I don't know if anyone else cares about VMS support. There's a user's group that works with VMS engineering that wants to keep using the "C" compiler, so let's keep the config files and non-Ada specific "C" files. Tristan and I will stay on as maintainers of the cross port for now.
Re: [PATCH] Temporarily revert Steven's PCH changes for 4.8 (PR pch/54117)
On 02/13/2013 01:12 PM, Steven Bosscher wrote: * ix86-*-interix* - no solution immediately available, and no-one listed in MAINTAINERS to ask for help, so maybe Doug can say something about this one? Microsoft has pulled the plug on Interix, Windows 7 will be the last version of Windows in which it will be available. There's a 64-bit gcc/binutils port to Interix, yet to be contributed, for which the plan is to use Dwarf but the GDB work hasn't been done. I suppose that if does get done, then it would be straightforward to backport Dwarf support to 32bit Interix. So I'm ok with losing stabs in the medium term, or the short term if Interix is the lone hold out. --Doug
How to patch fixincludes/Makefile for Interix?
I've been working on a resurrection patch for Interix, one remaining problem is fixincludes/fixincl.c must be compiled on native Interix with -D_ALL_SOURCE in order to find the getpagesize prototype. This works (taking some liberties with diff...): fixincludes/Makefile.in -FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) +FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) -D_ALL_SOURCE Obviously unacceptable in general. Fixincludes ignores a config/mh-interix, so adding FIXINC_CFLAGS += -D_ALL_SOURCE doesn't work. What is the correct solution? Any advice would be greatly appreciated.
[PATCH] fixincludes/Makefile for Interix
Here's my proposed patch, along the lines you suggested. top_srcdir didn't seem to be set, so I used srcdir instead. Bootstrapped on x86_64-unknown-linux-gnu 2011-06-04 Douglas B Rupp * fixincludes/configure.ac (host_makefile_frag): Use mh-interix. * fixincludes/configure: Regenerate * fixincludes/Makefile.in (FIXINC_CPPFLAGS): New flag macro. (@host_makefile_frag@): New substitution placeholder. (.c.o): Use FIXINC_CPPFLAGS. diff -rupN gcc.orig/fixincludes/configure.ac gcc/fixincludes/configure.ac --- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.0 -0700 +++ gcc/fixincludes/configure.ac2011-06-04 13:18:23.0 -0700 @@ -23,6 +23,20 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual] # Determine the noncanonical target name, for directory use. ACX_NONCANONICAL_TARGET +host_makefile_frag=/dev/null +if test -d ${srcdir}/../config ; then +case "${host}" in + *-interix[[3-9]]*) +host_makefile_frag="config/mh-interix" +;; +esac +fi + +if test $host_makefile_frag != /dev/null; then + eval host_makefile_frag=${srcdir}/../$host_makefile_frag +fi +AC_SUBST_FILE(host_makefile_frag) + # Specify the local prefix local_prefix= AC_ARG_WITH(local-prefix, diff -rupN gcc.orig/fixincludes/Makefile.in gcc/fixincludes/Makefile.in --- gcc.orig/fixincludes/Makefile.in2011-04-06 17:01:09.0 -0700 +++ gcc/fixincludes/Makefile.in 2011-06-04 00:31:30.0 -0700 @@ -32,6 +32,11 @@ WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANT LDFLAGS = @LDFLAGS@ INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) +FIXINC_CPPFLAGS = + + host specific makefile fragments come in here. +@host_makefile_frag@ +### # Directory where sources are, from where we are. srcdir = @srcdir@ @@ -73,7 +78,7 @@ default : all # Now figure out from those variables how to compile and link. .c.o: - $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $< + $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CPPFLAGS) $(FIXINC_CFLAGS) $< # The only suffixes we want for implicit rules are .c and .o. .SUFFIXES:
[PATCH] fixincludes/Makefile for Interix Rev 2
Revised and retested patch attached. OK to commit? --Douglas Rupp 2011-06-06 Douglas B Rupp * fixincludes/configure.ac (host_makefile_frag): Use mh-interix. * fixincludes/configure: Regenerate * fixincludes/Makefile.in (FIXINC_CPPFLAGS): New flag macro. (@host_makefile_frag@): New substitution placeholder. (.c.o): Use FIXINC_CPPFLAGS. diff -rupN gcc.orig/fixincludes/configure.ac gcc/fixincludes/configure.ac --- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.0 -0700 +++ gcc/fixincludes/configure.ac2011-06-06 21:31:54.0 -0700 @@ -23,6 +23,16 @@ # Determine the noncanonical target name, for directory use. ACX_NONCANONICAL_TARGET +[host_makefile_frag=/dev/null +if test -d ${srcdir}/../config ; then +case "${host}" in + *-interix[3-9]*) +host_makefile_frag="${srcdir}/../config/mh-interix" +;; +esac +fi] +AC_SUBST_FILE(host_makefile_frag) + # Specify the local prefix local_prefix= AC_ARG_WITH(local-prefix, diff -rupN gcc.orig/fixincludes/Makefile.in gcc/fixincludes/Makefile.in --- gcc.orig/fixincludes/Makefile.in2011-04-06 17:01:09.0 -0700 +++ gcc/fixincludes/Makefile.in 2011-06-06 21:31:54.0 -0700 @@ -1,6 +1,6 @@ # Makefile for fixincludes. # -# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009, 2010 +# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009, 2010, 2011 # Free Software Foundation, Inc. #This file is part of fixincludes. @@ -32,6 +32,11 @@ LDFLAGS = @LDFLAGS@ INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) +FIXINC_CPPFLAGS = + + host specific makefile fragments come in here. +@host_makefile_frag@ +### # Directory where sources are, from where we are. srcdir = @srcdir@ @@ -73,7 +78,7 @@ # Now figure out from those variables how to compile and link. .c.o: - $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $< + $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CPPFLAGS) $(FIXINC_CFLAGS) $< # The only suffixes we want for implicit rules are .c and .o. .SUFFIXES:
[PATCH] fixincludes/Makefile for Interix Rev 3
Reformulated as per your suggestion, and retested. OK to commit? --Douglas Rupp 2011-06-07 Douglas B Rupp * fixincludes/configure.ac (AC_USE_SYSTEM_EXTENSIONS): Add. * fixincludes/configure: Regenerate. * fixincludes/config.h.in: Regenerate. --- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.0 -0700 +++ gcc/fixincludes/configure.ac2011-06-07 22:40:23.0 -0700 @@ -6,6 +6,7 @@ m4_sinclude(../libtool.m4) AC_CANONICAL_SYSTEM AC_PROG_CC +AC_USE_SYSTEM_EXTENSIONS AC_PROG_SED # Figure out what compiler warnings we can enable.
[PATCH] Un-obsolete Interix
This patch restores interix v3 and above to working condition, combines the multitude of config/*interix*.h files into one file, removes unused bits, and fixes PR 47096. Comments welcome. --Douglas B Rupp 2011-06-09 Douglas B Rupp * /config/mh-interix: Remove. * /configure.ac (host_makefile_frag): Remove above. * /configure: Regenerate * config/i386/i386-interix3.h: Incorporate this file ... * config/interix3.h: Likewise * config/interix.h: Likewise * config/i386/i386-interix.h: ... into here and remove pre-Interix3 bits. * config/interix.opt: Incorporate this file ... * config/i386/interix.opt: ... into here. * config/i386/t-interix (winnt-cxx.o,winnt-stubs.o,msformat-c.o): Add rules to build. * config.gcc: Rename interix3* to interix[3-9]*. Fix macros to reflect config file changes. Remove interix3 from obsolete configurations. * configure.ac (HAVE_GAS_ALIGNED_COMM): Allow on Interix. * configure: Regenerate. * testsuite/gcc.dg/builtins-config.h: (__INTERIX): Not C99. * libgcc/config.host: Rename interix3* to interix[3-9]*. * doc/install.texi: Note that gcc supports Interix version 3 and above. diff -rupN gcc.orig/config/mh-interix gcc/config/mh-interix --- gcc.orig/config/mh-interix 2011-04-06 16:54:04.0 -0700 +++ gcc/config/mh-interix 1969-12-31 16:00:00.0 -0800 @@ -1,7 +0,0 @@ -# The shell may not be in /bin. -SHELL = sh - -# We also need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be -# built without debugging information - -LIBGCC2_DEBUG_CFLAGS= diff -rupN gcc.orig/configure.ac gcc/configure.ac --- gcc.orig/configure.ac 2011-06-01 13:35:36.0 -0700 +++ gcc/configure.ac2011-06-01 15:46:59.0 -0700 @@ -1083,9 +1085,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" ;; diff -rupN gcc.orig/gcc/config/i386/i386-interix3.h gcc/gcc/config/i386/i386-interix3.h --- gcc.orig/gcc/config/i386/i386-interix3.h2011-04-06 16:49:50.0 -0700 +++ gcc/gcc/config/i386/i386-interix3.h 1969-12-31 16:00:00.0 -0800 @@ -1,23 +0,0 @@ -/* Target definitions for GCC for Intel 80386 running Interix V3. - Copyright (C) 2001, 2007 Free Software Foundation, Inc. - Contributed by Douglas B. Rupp (r...@gnat.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -#undef CPP_SPEC -#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}" - diff -rupN gcc.orig/gcc/config/interix3.h gcc/gcc/config/interix3.h --- gcc.orig/gcc/config/interix3.h 2011-04-06 16:50:26.0 -0700 +++ gcc/gcc/config/interix3.h 1969-12-31 16:00:00.0 -0800 @@ -1,34 +0,0 @@ -/* Operating system specific defines to be used when targeting GCC for - Interix version 3. - Copyright (C) 2001, 2007 Free Software Foundation, Inc. - Contributed by Douglas B. Rupp (r...@gnat.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -/* Interix 3.x has a single rooted file system and properly named - libraries, so LIB_SPEC can be simplified */ - -#undef LIB_SPEC -#define LIB_SPEC "\ - %{!shared:%{!dynamic:-lc -lpsxdll \ - }} \ - %{!G:%{!dynamic:-lc -lpsxdll \ - }} \ - %{dynamic:-lc -lpsxdll \ - } \ - %{v}" - diff -rupN gcc.orig/gcc/config/interix.h gcc/gcc/config/interix.h --- gcc.orig/gcc/config/interix.h 2011-04-06 16:50:26.0 -0700 +++ gcc/gcc/config/interix.h1969-12-31 16:00:00.0 -0800 @@ -1,110 +0,0 @@ -/* Operating system specific defines to be used when targeting GCC for - Int
Re: [PATCH] Un-obsolete Interix
Unneeded and removed. Also found some trailing spaces in i386-interix.h, now removed. On 6/9/2011 12:02 PM, Joseph S. Myers wrote: Why are you adding an include of to i386-interix.h? This header (and most common system headers) should generally be included via system.h on the host, or tsystem.h on the target, not directly.
Re: RFA: Add makefile for cross-configuration torture test
On 4/13/2011 3:10 PM, Joseph S. Myers wrote: The person who volunteered for Interix is Douglas B Rupp. I'm still good for it. --Doug