diff options
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 <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/39150 + * configure.ac (i[3456789]86-*-solaris2*): Also accept + x86_64-*-solaris2.1[0-9]*. + * configure: Regenerate. + 2011-06-29 Richard Sandiford <rdsandiford@googlemail.com> * 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 <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/39150 + * configure.ac (i?86-*-solaris2.[89]): Also accept + x86_64-*-solaris2.1?. + * configure: Regenerate. + 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 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,5 +1,35 @@ 2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + 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 <ro@CeBiTec.Uni-Bielefeld.DE> + * config/sol2.h (ASM_SPEC): Split into ... (ASM_SPEC_BASE, ASM_PIC_SPEC): ... this. * config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE. 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 <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/39150 + * gcc-interface/Makefile.in: Handle x86_64-solaris2. + 2011-07-06 Richard Guenther <rguenther@suse.de> * 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<a-numaux-x86.adb \ a-numaux.ads<a-numaux-x86.ads \ a-intnam.ads<a-intnam-solaris.ads \ @@ -1028,13 +1028,29 @@ ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),) s-tpopsp.adb<s-tpopsp-solaris.adb \ g-soliop.ads<g-soliop-solaris.ads - ifeq ($(strip $(MULTISUBDIR)),/amd64) - LIBGNAT_TARGET_PAIRS += \ - system.ads<system-solaris-x86_64.ads + LIBGNAT_TARGET_PAIRS_32 = \ + g-bytswa.adb<g-bytswa-x86.adb \ + system.ads<system-solaris-x86.ads + + LIBGNAT_TARGET_PAIRS_64 = \ + system.ads<system-solaris-x86_64.ads + + ifeq ($(strip $(filter-out %86 solaris2%,$(arch) $(osys))),) + ifeq ($(strip $(MULTISUBDIR)),/amd64) + LIBGNAT_TARGET_PAIRS = \ + $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64) + else + LIBGNAT_TARGET_PAIRS = \ + $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32) + endif else - LIBGNAT_TARGET_PAIRS += \ - g-bytswa.adb<g-bytswa-x86.adb \ - system.ads<system-solaris-x86.ads + ifeq ($(strip $(MULTISUBDIR)),/32) + LIBGNAT_TARGET_PAIRS = \ + $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_32) + else + LIBGNAT_TARGET_PAIRS = \ + $(LIBGNAT_TARGET_PAIRS_COMMON) $(LIBGNAT_TARGET_PAIRS_64) + endif endif TOOLS_TARGET_PAIRS=mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb diff --git a/gcc/config.gcc b/gcc/config.gcc index c77f40b0199..d73cb459bb0 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1369,7 +1369,7 @@ i[34567]86-*-rtems*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h i386/rtemself.h rtems.h newlib-stdint.h" tmake_file="${tmake_file} i386/t-rtems t-rtems" ;; -i[34567]86-*-solaris2*) +i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file}" # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. @@ -3529,7 +3529,7 @@ case ${target} in i[34567]86-*-gnu*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp i386/t-linux" ;; - i[34567]86-*-solaris2*) + i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) tmake_file="${tmake_file} i386/t-fprules-softfp soft-fp/t-softfp" ;; i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*) diff --git a/gcc/config.host b/gcc/config.host index a2bde4434c5..d55447cb80c 100644 --- a/gcc/config.host +++ b/gcc/config.host @@ -197,7 +197,7 @@ case ${host} in i370-*-opened* | i370-*-mvs* ) # IBM 360/370/390 Architecture host_xm_defines='FATAL_EXIT_CODE=12' ;; - i[34567]86-*-solaris2*) + i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) out_host_hook_obj=host-solaris.o host_xmake_file="${host_xmake_file} x-solaris" ;; diff --git a/gcc/config/host-solaris.c b/gcc/config/host-solaris.c index 12eab3c61b8..15f1d782e95 100644 --- a/gcc/config/host-solaris.c +++ b/gcc/config/host-solaris.c @@ -73,7 +73,7 @@ mmap_fixed (void *addr, size_t len, int prot, int flags, int fd, off_t off) #elif defined(__sparc__) # define TRY_EMPTY_VM_SPACE 0x80000000 #elif defined(__x86_64__) -# define TRY_EMPTY_VM_SPACE 0x8000000000000000 +# define TRY_EMPTY_VM_SPACE 0x80000000000 #elif defined(__i386__) # define TRY_EMPTY_VM_SPACE 0xB0000000 #else diff --git a/gcc/config/i386/sol2-bi.h b/gcc/config/i386/sol2-bi.h index a988fa00b93..04feeb907ae 100644 --- a/gcc/config/i386/sol2-bi.h +++ b/gcc/config/i386/sol2-bi.h @@ -31,13 +31,17 @@ along with GCC; see the file COPYING3. If not see /* GNU as understands --32 and --64, but the native Solaris assembler requires -xarch=generic or -xarch=generic64 instead. */ -#undef ASM_CPU_SPEC #ifdef USE_GAS -#define ASM_CPU_SPEC "%{m32:--32} %{m64:--64}" +#define ASM_CPU32_DEFAULT_SPEC "--32" +#define ASM_CPU64_DEFAULT_SPEC "--64" #else -#define ASM_CPU_SPEC "%{m32:-xarch=generic} %{m64:-xarch=generic64}" +#define ASM_CPU32_DEFAULT_SPEC "-xarch=generic" +#define ASM_CPU64_DEFAULT_SPEC "-xarch=generic64" #endif +#undef ASM_CPU_SPEC +#define ASM_CPU_SPEC "%(asm_cpu_default)" + /* Don't let i386/x86-64.h override i386/sol2.h version. Still cannot use -K PIC with the Solaris 10+ assembler, it gives many warnings: Absolute relocation is used for symbol "<symbol>" */ @@ -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 <<EOF .globl hidden @@ -22099,7 +22099,7 @@ else gcc_cv_as_cfi_directive=no else case "$target" in - i?86-*-solaris2.1[0-9]*) + i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*) # On Solaris/x86, make sure that GCC and gas agree on using # read-only .eh_frame sections for 64-bit. if $gcc_cv_as --64 -o conftest.o conftest.s > /dev/null 2>&1 && \ @@ -22530,7 +22530,7 @@ $as_echo "$gcc_cv_as_comdat_group_percent" >&6; } foo: ' ;; - i?86-*-solaris2*) + i?86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) conftest_s=' .group foo,.text%foo,#comdat .section .text%foo, "ax", @progbits @@ -22760,12 +22760,16 @@ foo: .long 25 tls_first_major=2 tls_first_minor=17 ;; - i[34567]86-*-*) + i[34567]86-*-* | x86_64-*-solaris2.1[0-9]*) case "$target" in i[34567]86-*-solaris2.*) on_solaris=yes tga_func=___tls_get_addr ;; + x86_64-*-solaris2.1[0-9]*) + on_solaris=yes + tga_func=__tls_get_addr + ;; *) on_solaris=no ;; diff --git a/gcc/configure.ac b/gcc/configure.ac index 02c6089e9e6..f899991083d 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2173,7 +2173,7 @@ foobar:],[ # 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 <<EOF .globl hidden @@ -2428,7 +2428,7 @@ gcc_GAS_CHECK_FEATURE([cfi directives], gcc_cv_as_cfi_directive, gcc_cv_as_cfi_directive=no else case "$target" in - i?86-*-solaris2.1[[0-9]]*) + i?86-*-solaris2.1[[0-9]]* | x86_64-*-solaris2.1[[0-9]]*) # On Solaris/x86, make sure that GCC and gas agree on using # read-only .eh_frame sections for 64-bit. if $gcc_cv_as --64 -o conftest.o conftest.s > /dev/null 2>&1 && \ @@ -2632,7 +2632,7 @@ else foo: ' ;; - i?86-*-solaris2*) + i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*) conftest_s=' .group foo,.text%foo,#comdat .section .text%foo, "ax", @progbits @@ -2810,12 +2810,16 @@ foo: .long 25 tls_first_major=2 tls_first_minor=17 ;; - i[34567]86-*-*) + i[34567]86-*-* | x86_64-*-solaris2.1[0-9]*) case "$target" in i[34567]86-*-solaris2.*) on_solaris=yes tga_func=___tls_get_addr ;; + x86_64-*-solaris2.1[0-9]*) + on_solaris=yes + tga_func=__tls_get_addr + ;; *) on_solaris=no ;; diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 78a6ee83435..f93413fb7b8 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -2957,6 +2957,8 @@ information are. @item @uref{#alpha-dec-osf51,,alpha*-dec-osf5.1} @item +@uref{#amd64-x-solaris210,,amd64-*-solaris2.10} +@item @uref{#arm-x-elf,,arm-*-elf} @item @uref{#avr,,avr} @@ -3057,6 +3059,8 @@ information are. @item @uref{#x86-64-x-x,,x86_64-*-*, amd64-*-*} @item +@uref{#x86-64-x-solaris210,,x86_64-*-solaris2.1[0-9]*} +@item @uref{#xtensa-x-elf,,xtensa*-*-elf} @item @uref{#xtensa-x-linux,,xtensa*-*-linux*} @@ -3157,6 +3161,13 @@ provide a fix shortly. @html <hr /> @end html +@heading @anchor{amd64-x-solaris210}amd64-*-solaris2.1[0-9]* + +This is a synonym for @samp{x86_64-*-solaris2.1[0-9]*}. + +@html +<hr /> +@end html @heading @anchor{arm-x-elf}arm-*-elf ARM-family processors. Subtargets that use the ELF object format require GNU binutils 2.13 or newer. Such subtargets include: @@ -3537,10 +3548,10 @@ you have the patch installed, you can configure GCC with an appropriate @end html @heading @anchor{ix86-x-solaris210}i?86-*-solaris2.10 Use this for Solaris 10 or later on x86 and x86-64 systems. This -configuration is supported by GCC 4.0 and later versions only. Unlike -@samp{sparcv9-sun-solaris2*}, there is no corresponding 64-bit -configuration like @samp{amd64-*-solaris2*} or @samp{x86_64-*-solaris2*}. -@c FIXME: will there ever be? +configuration is supported by GCC 4.0 and later versions only. Starting +with GCC 4.7, there is also a 64-bit @samp{amd64-*-solaris2.1[0-9]*} or +@samp{x86_64-*-solaris2.1[0-9]*} configuration that corresponds to +@samp{sparcv9-sun-solaris2*}. It is recommended that you configure GCC to use the GNU assembler, in @file{/usr/sfw/bin/gas}. The versions included in Solaris 10, from GNU @@ -4400,6 +4411,22 @@ both 64-bit x86-64 and 32-bit x86 code (via the @option{-m32} switch). @html <hr /> @end html +@heading @anchor{x86-64-x-solaris2.10}x86_64-*-solaris2.1[0-9]* + +GCC also supports the x86-64 architecture implemented by the AMD64 +processor (@samp{amd64-*-*} is an alias for @samp{x86_64-*-*}) on +Solaris 10 or later. Unlike other systems, without special options a +bi-arch compiler is built which generates 32-bit code by default, but +can generate 64-bit x86-64 code with the @option{-m64} switch. Since +GCC 4.7, there is also configuration that defaults to 64-bit code, but +can generate 32-bit code with @option{-m32}. To configure and build +this way, you have to provide all support libraries like @file{libgmp} +as 64-bit code, configure with @option{--target=x86_64-pc-solaris2.1x} +and @samp{CC=gcc -m64}. + +@html +<hr /> +@end html @heading @anchor{xtensa-x-elf}xtensa*-*-elf This target is intended for embedded Xtensa systems using the diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f176a448cb5..a1b8bb810b7 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/39150 + * gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*. + 2011-07-06 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/no-r11-1.c: New test for -mr11, -mno-r11. diff --git a/gcc/testsuite/gcc.misc-tests/linkage.exp b/gcc/testsuite/gcc.misc-tests/linkage.exp index 954dc29a50e..f6702e4d024 100644 --- a/gcc/testsuite/gcc.misc-tests/linkage.exp +++ b/gcc/testsuite/gcc.misc-tests/linkage.exp @@ -46,7 +46,8 @@ if { [isnative] && ![is_remote host] } then { set native_cflags "-xarch=v9" } } - if [istarget "i?86*-*-solaris2*"] { + if {[istarget "i?86*-*-solaris2*"] + || [istarget "x86_64-*-solaris2.1\[0-9\]*"]} { set file_string [exec file "linkage-x.o"] if [ string match "*64*" $file_string ] { set native_cflags "-xarch=amd64" diff --git a/gnattools/ChangeLog b/gnattools/ChangeLog index 83f30164c06..9bcd6213230 100644 --- a/gnattools/ChangeLog +++ b/gnattools/ChangeLog @@ -1,3 +1,10 @@ +2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR target/39150 + * configure.ac (*86-*-solaris2*): Also accept + x86_64-*-solaris2.1[0-9]*. + * configure: Regenerate. + 2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> PR other/46202 diff --git a/gnattools/configure b/gnattools/configure index a85c044056a..8667058788f 100755 --- a/gnattools/configure +++ b/gnattools/configure @@ -2041,7 +2041,7 @@ case "${target}" in sparc-sun-solaris*) TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb" ;; - *86-*-solaris2*) + *86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb" ;; *86-*-linux* \ diff --git a/gnattools/configure.ac b/gnattools/configure.ac index 712ed44063e..450cb727243 100644 --- a/gnattools/configure.ac +++ b/gnattools/configure.ac @@ -81,7 +81,7 @@ case "${target}" in sparc-sun-solaris*) TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb" ;; - *86-*-solaris2*) + *86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*) TOOLS_TARGET_PAIRS="mlib-tgt-specific.adb<mlib-tgt-specific-solaris.adb" ;; *86-*-linux* \ diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index e36edfa981d..6abcb25081c 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + 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. + 2011-06-16 Jason Merrill <jason@redhat.com> PR c++/45399 diff --git a/libcpp/configure b/libcpp/configure index 41677ce1f3c..d261f2a09f6 100755 --- a/libcpp/configure +++ b/libcpp/configure @@ -7095,7 +7095,7 @@ case $target in ia64-*-* | \ hppa*64*-*-* | \ i[34567]86-*-darwin* | \ - i[34567]86-*-solaris2.1[0-9]* | \ + i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]* | \ i[34567]86-w64-mingw* | \ mips*-*-* | \ mmix-*-* | \ diff --git a/libcpp/configure.ac b/libcpp/configure.ac index 1c67eaf641c..ce8cae61bf0 100644 --- a/libcpp/configure.ac +++ b/libcpp/configure.ac @@ -145,7 +145,7 @@ case $target in ia64-*-* | \ hppa*64*-*-* | \ i[34567]86-*-darwin* | \ - i[34567]86-*-solaris2.1[0-9]* | \ + i[34567]86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]* | \ i[34567]86-w64-mingw* | \ mips*-*-* | \ mmix-*-* | \ diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 4293729bba7..54b1f3d7393 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,12 @@ +2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + 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. + 2011-07-06 Thomas Schwinge <thomas@schwinge.name> * config.host (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu) diff --git a/libgcc/config.host b/libgcc/config.host index c89155f3378..8faeee3ee01 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -188,7 +188,7 @@ case ${host} in tmake_file="$tmake_file $cpu_type/t-sol2" extra_parts="gmon.o crtbegin.o crtend.o" case ${host} in - i?86-*-solaris2.1[0-9]*) + i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*) # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as # part of the base system. ;; @@ -386,7 +386,7 @@ i[34567]86-*-rtems*) extra_parts="crtbegin.o crtend.o crti.o crtn.o" tmake_file="${tmake_file} t-crtin i386/t-softfp i386/t-crtstuff t-rtems" ;; -i[34567]86-*-solaris2*) +i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) tmake_file="$tmake_file i386/t-crtfm" extra_parts="$extra_parts crtfastmath.o" md_unwind_header=i386/sol2-unwind.h @@ -700,7 +700,7 @@ i[34567]86-*-darwin* | x86_64-*-darwin* | \ i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \ i[34567]86-*-linux* | x86_64-*-linux* | \ i[34567]86-*-gnu* | \ - i[34567]86-*-solaris2* | \ + i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \ i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw* | \ i[34567]86-*-freebsd* | x86_64-*-freebsd*) if test "${host_address}" = 32; then diff --git a/libgcc/configure b/libgcc/configure index 13510224944..45fe914ddf9 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -3813,7 +3813,7 @@ esac # Link with -nostartfiles -nodefaultlibs since neither are present while # building libgcc. case ${host} in -i?86-*-solaris2*) +i?86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) cat > conftest.s <<EOF .section .eh_frame,"a",@unwind .zero 4 diff --git a/libgcc/configure.ac b/libgcc/configure.ac index 4f56c3b596f..20536c7152d 100644 --- a/libgcc/configure.ac +++ b/libgcc/configure.ac @@ -207,7 +207,7 @@ esac # Link with -nostartfiles -nodefaultlibs since neither are present while # building libgcc. case ${host} in -i?86-*-solaris2*) +i?86-*-solaris2* | x86_64-*-solaris2.1[[0-9]]*) cat > conftest.s <<EOF .section .eh_frame,"a",@unwind .zero 4 diff --git a/libgo/config/libtool.m4 b/libgo/config/libtool.m4 index a546739eb4e..1a667d31a5a 100644 --- a/libgo/config/libtool.m4 +++ b/libgo/config/libtool.m4 @@ -1296,7 +1296,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris* | x86_64-*-solaris2.1[[0-9]]*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) diff --git a/libgo/configure b/libgo/configure index 4bf5a2e6096..607533d0e38 100755 --- a/libgo/configure +++ b/libgo/configure @@ -6422,7 +6422,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } case $lt_cv_prog_gnu_ld in yes*) case $host in - i?86-*-solaris*) + i?86-*-solaris* | x86_64-*-solaris2.1[0-9]*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index dfaa803c0a1..cac38751080 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,10 @@ +2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + 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]*. + 2011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR libgcj/49314 diff --git a/libjava/configure.host b/libjava/configure.host index fab8c603a81..105785e5434 100644 --- a/libjava/configure.host +++ b/libjava/configure.host @@ -141,6 +141,9 @@ case "${host}" in libgcj_flags="${libgcj_flags} -ffloat-store" ;; esac libgcj_flags="${libgcj_flags} -fomit-frame-pointer" + # On Solaris we have defined 'sun' which later conflicts with + # namespace usage. So to work this away we use the below undefine. + libgcj_flags="${libgcj_flags} -Usun" libgcj_cxxflags= libgcj_cflags= DIVIDESPEC=-fno-use-divide-subroutine @@ -285,6 +288,10 @@ EOF sysdeps_dir=i386 DIVIDESPEC=-f%{m32:no-}%{!m32:%{!m64:no-}}%{m64:}use-divide-subroutine ;; + x86_64-*-solaris2.1[0-9]* ) + sysdeps_dir=i386 + DIVIDESPEC=-f%{m32:no-}use-divide-subroutine + ;; mips-sgi-irix6* ) can_unwind_signal=yes sysdeps_dir=mips @@ -322,7 +329,7 @@ EOF DIVIDESPEC=-fuse-divide-subroutine CHECKREFSPEC=-fcheck-references ;; - i?86-*-solaris2*) + i?86-*-solaris2* | x86_64-*-solaris2.1[0-9]*) can_unwind_signal=yes ;; *-*-freebsd*) |