From fbdd5d87150536650a23886c85473b6cbf9857cf Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Thu, 7 Jul 2011 09:24:16 +0000 Subject: [PATCH] re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defined (only i386-solaris*).) gcc: PR target/39150 * configure.ac (gcc_cv_as_hidden): Also accept x86_64-*-solaris2.1[0-9]*. (gcc_cv_as_cfi_directive): Likewise. (gcc_cv_as_comdat_group_group): Likewise. (set_have_as_tls): Likewise. * configure: Regenerate. * config.gcc (i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*. * config.host (i[34567]86-*-solaris2*): Likewise. * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove. * config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine. [USE_GLD] (ARCH_DEFAULT_EMULATION): Define. (TARGET_LD_EMULATION): Use it. * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define. (SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default. * config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define. (ASM_CPU64_DEFAULT_SPEC): Define. (ASM_CPU_SPEC): Use %(asm_cpu_default). (ASM_SPEC): Redefine. (DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT. * config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce. * doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*): Document. (Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]* configuration. (Specific, x86_64-*-solaris2.1[0-9]*): Document. gcc/ada: PR target/39150 * gcc-interface/Makefile.in: Handle x86_64-solaris2. libgcc: PR target/39150 * config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]* like i?86-*-solaris2.1[0-9]*. (i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*. * configure.ac (i?86-*-solaris2*): Likewise. * configure: Regenerate. gcc/testsuite: PR target/39150 * gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*. toplevel: PR target/39150 * configure.ac (i[3456789]86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*. * configure: Regenerate. boehm-gc: PR target/39150 * configure.ac (i?86-*-solaris2.[89]): Also accept x86_64-*-solaris2.1?. * configure: Regenerate. gnattools: PR target/39150 * configure.ac (*86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*. * configure: Regenerate. libcpp: PR target/39150 * configure.ac (host_wide_int): Handle x86_64-*-solaris2.1[0-9] like i[34567]86-*-solaris2.1[0-9]*. * configure: Regenerate. libgo: PR target/39150 * config/libtool.m4: Handle x86_64-*-solaris2.1[0-9]* like i?86-*-solaris*. * configure: Regenerate. libjava: PR target/39150 * configure.host (x86_64-*): Add -Usun to libgcj_flags. (x86_64-*-solaris2.1[0-9]*): New case. (i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*. From-SVN: r175958 --- ChangeLog | 7 +++++ boehm-gc/ChangeLog | 7 +++++ boehm-gc/configure | 2 +- boehm-gc/configure.ac | 2 +- configure | 2 +- configure.ac | 2 +- gcc/ChangeLog | 30 ++++++++++++++++++++ gcc/ada/ChangeLog | 5 ++++ gcc/ada/gcc-interface/Makefile.in | 32 ++++++++++++++++------ gcc/config.gcc | 4 +-- gcc/config.host | 2 +- gcc/config/host-solaris.c | 2 +- gcc/config/i386/sol2-bi.h | 13 +++++---- gcc/config/i386/sol2.h | 5 +++- gcc/config/sol2-bi.h | 18 +++++++++++- gcc/config/sparc/sol2.h | 10 ------- gcc/configure | 12 +++++--- gcc/configure.ac | 12 +++++--- gcc/doc/install.texi | 35 +++++++++++++++++++++--- gcc/testsuite/ChangeLog | 5 ++++ gcc/testsuite/gcc.misc-tests/linkage.exp | 3 +- gnattools/ChangeLog | 7 +++++ gnattools/configure | 2 +- gnattools/configure.ac | 2 +- libcpp/ChangeLog | 7 +++++ libcpp/configure | 2 +- libcpp/configure.ac | 2 +- libgcc/ChangeLog | 9 ++++++ libgcc/config.host | 6 ++-- libgcc/configure | 2 +- libgcc/configure.ac | 2 +- libgo/config/libtool.m4 | 2 +- libgo/configure | 2 +- libjava/ChangeLog | 7 +++++ libjava/configure.host | 9 +++++- 35 files changed, 213 insertions(+), 58 deletions(-) diff --git a/ChangeLog b/ChangeLog index 77ce407ab75..ec1b42bd20b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-07-07 Rainer Orth + + PR target/39150 + * configure.ac (i[3456789]86-*-solaris2*): Also accept + x86_64-*-solaris2.1[0-9]*. + * configure: Regenerate. + 2011-06-29 Richard Sandiford * MAINTAINERS (RTL optimizers): Add self. diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog index d08acc014e0..34e3882e506 100644 --- a/boehm-gc/ChangeLog +++ b/boehm-gc/ChangeLog @@ -1,3 +1,10 @@ +2011-07-07 Rainer Orth + + PR target/39150 + * configure.ac (i?86-*-solaris2.[89]): Also accept + x86_64-*-solaris2.1?. + * configure: Regenerate. + 2011-06-29 Rainer Orth PR libgcj/49451 diff --git a/boehm-gc/configure b/boehm-gc/configure index 7defe3842c7..66bb3e7f06a 100755 --- a/boehm-gc/configure +++ b/boehm-gc/configure @@ -15163,7 +15163,7 @@ $as_echo "$as_me: WARNING: OpenBSD/Alpha without dlopen(). Shared library suppor alpha*-*-linux*) machdep="alpha_mach_dep.lo" ;; - i?86-*-solaris2.[89] | i?86-*-solaris2.1?) + i?86-*-solaris2.[89] | i?86-*-solaris2.1? | x86_64-*-solaris2.1?) $as_echo "#define SOLARIS25_PROC_VDB_BUG_FIXED 1" >>confdefs.h diff --git a/boehm-gc/configure.ac b/boehm-gc/configure.ac index 1f7fb25c0e5..799959a0e0f 100644 --- a/boehm-gc/configure.ac +++ b/boehm-gc/configure.ac @@ -400,7 +400,7 @@ case "$host" in alpha*-*-linux*) machdep="alpha_mach_dep.lo" ;; - i?86-*-solaris2.[[89]] | i?86-*-solaris2.1?) + i?86-*-solaris2.[[89]] | i?86-*-solaris2.1? | x86_64-*-solaris2.1?) AC_DEFINE(SOLARIS25_PROC_VDB_BUG_FIXED,1,[PROC_VDB in Solaris 2.5 gives wrong values for dirty bits]) ;; mipstx39-*-elf*) diff --git a/configure b/configure index eac5bc7a582..f4bb2555609 100755 --- a/configure +++ b/configure @@ -3477,7 +3477,7 @@ case "${target}" in i[3456789]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss" ;; - i[3456789]86-*-solaris2*) + i[3456789]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[3456789]86-*-sysv4*) diff --git a/configure.ac b/configure.ac index b88a8212a39..31a5bdf67bd 100644 --- a/configure.ac +++ b/configure.ac @@ -923,7 +923,7 @@ case "${target}" in i[[3456789]]86-*-sco*) noconfigdirs="$noconfigdirs gprof target-libgloss" ;; - i[[3456789]]86-*-solaris2*) + i[[3456789]]86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*) noconfigdirs="$noconfigdirs target-libgloss" ;; i[[3456789]]86-*-sysv4*) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ad790d3844d..b44a29fe614 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,33 @@ +2011-07-07 Rainer Orth + + PR target/39150 + * configure.ac (gcc_cv_as_hidden): Also accept + x86_64-*-solaris2.1[0-9]*. + (gcc_cv_as_cfi_directive): Likewise. + (gcc_cv_as_comdat_group_group): Likewise. + (set_have_as_tls): Likewise. + * configure: Regenerate. + * config.gcc (i[34567]86-*-solaris2*): Also handle + x86_64-*-solaris2.1[0-9]*. + * config.host (i[34567]86-*-solaris2*): Likewise. + * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove. + * config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine. + [USE_GLD] (ARCH_DEFAULT_EMULATION): Define. + (TARGET_LD_EMULATION): Use it. + * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define. + (SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default. + * config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define. + (ASM_CPU64_DEFAULT_SPEC): Define. + (ASM_CPU_SPEC): Use %(asm_cpu_default). + (ASM_SPEC): Redefine. + (DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT. + * config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce. + * doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*): + Document. + (Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]* + configuration. + (Specific, x86_64-*-solaris2.1[0-9]*): Document. + 2011-07-07 Rainer Orth * config/sol2.h (ASM_SPEC): Split into ... diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 66bc3e031d3..686aad137fd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2011-07-07 Rainer Orth + + PR target/39150 + * gcc-interface/Makefile.in: Handle x86_64-solaris2. + 2011-07-06 Richard Guenther * gcc-interface/misc.c (gnat_init): diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index 7feb6d27b81..0b5c8795a7a 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -1011,8 +1011,8 @@ ifeq ($(strip $(filter-out sparc% sun solaris%,$(targ))),) endif endif -ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),) - LIBGNAT_TARGET_PAIRS = \ +ifeq ($(strip $(filter-out %86 %x86_64 solaris2%,$(arch) $(osys))),) + LIBGNAT_TARGET_PAIRS_COMMON = \ a-numaux.adb" */ @@ -47,8 +51,7 @@ along with GCC; see the file COPYING3. If not see /* We do not need to search a special directory for startup files. */ #undef MD_STARTFILE_PREFIX -/* No 64-bit default configurations. */ -#define DEFAULT_ARCH32_P 1 +#define DEFAULT_ARCH32_P !TARGET_64BIT_DEFAULT #define ARCH64_SUBDIR "amd64" diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 593e256c164..5b4e3d78f58 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -59,6 +59,8 @@ along with GCC; see the file COPYING3. If not see #undef CPP_SPEC #define CPP_SPEC "%{,assembler-with-cpp:-P} %(cpp_subtarget)" +#define ASM_CPU_DEFAULT_SPEC "" + #define ASM_CPU_SPEC "" /* Don't include ASM_PIC_SPEC. While the Solaris 8 and 9 assembler accepts @@ -70,7 +72,8 @@ along with GCC; see the file COPYING3. If not see #define SUBTARGET_CPU_EXTRA_SPECS \ { "cpp_subtarget", CPP_SUBTARGET_SPEC }, \ - { "asm_cpu", ASM_CPU_SPEC } + { "asm_cpu", ASM_CPU_SPEC }, \ + { "asm_cpu_default", ASM_CPU_DEFAULT_SPEC }, \ #undef SUBTARGET_EXTRA_SPECS #define SUBTARGET_EXTRA_SPECS \ diff --git a/gcc/config/sol2-bi.h b/gcc/config/sol2-bi.h index 371cdd6df41..5e41efd81d4 100644 --- a/gcc/config/sol2-bi.h +++ b/gcc/config/sol2-bi.h @@ -56,6 +56,16 @@ #define DEF_ARCH64_SPEC(__str) "%{!m32:" __str "}" #endif +#undef ASM_CPU_DEFAULT_SPEC +#define ASM_CPU_DEFAULT_SPEC \ +(DEFAULT_ARCH32_P ? "\ +%{m64:" ASM_CPU64_DEFAULT_SPEC "} \ +%{!m64:" ASM_CPU32_DEFAULT_SPEC "} \ +" : "\ +%{m32:" ASM_CPU32_DEFAULT_SPEC "} \ +%{!m32:" ASM_CPU64_DEFAULT_SPEC "} \ +") + /* This should be the same as LINK_ARCH32_SPEC_BASE, except with ARCH64_SUBDIR appended to the paths and /usr/ccs/lib is no longer necessary. */ @@ -78,8 +88,14 @@ #endif #ifdef USE_GLD +#if DEFAULT_ARCH32_P +#define ARCH_DEFAULT_EMULATION ARCH32_EMULATION +#else +#define ARCH_DEFAULT_EMULATION ARCH64_EMULATION +#endif #define TARGET_LD_EMULATION "%{m32:-m " ARCH32_EMULATION "}" \ - "%{m64:-m " ARCH64_EMULATION "} " + "%{m64:-m " ARCH64_EMULATION "}" \ + "%{!m32:%{!m64:-m " ARCH_DEFAULT_EMULATION "}} " #else #define TARGET_LD_EMULATION "" #endif diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index 392b171be8d..6661c21945c 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -205,16 +205,6 @@ along with GCC; see the file COPYING3. If not see %{!mcpu*:%(asm_cpu_default)} \ " -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC \ -(DEFAULT_ARCH32_P ? "\ -%{m64:" ASM_CPU64_DEFAULT_SPEC "} \ -%{!m64:" ASM_CPU32_DEFAULT_SPEC "} \ -" : "\ -%{m32:" ASM_CPU32_DEFAULT_SPEC "} \ -%{!m32:" ASM_CPU64_DEFAULT_SPEC "} \ -") - #undef ASM_ARCH32_SPEC #define ASM_ARCH32_SPEC "" diff --git a/gcc/configure b/gcc/configure index 68830c57dfb..3c717c086b7 100755 --- a/gcc/configure +++ b/gcc/configure @@ -21784,7 +21784,7 @@ foobar:' > conftest.s # Solaris 9/x86 as incorrectly emits an alias for a hidden symbol with # STV_HIDDEN, so disable .hidden support if so. case "${target}" in - i?86-*-solaris2*) + i?86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) if test x$gcc_cv_as != x && test x$gcc_cv_objdump != x; then cat > conftest.s <