Skip to content

Commit

Permalink
re PR bootstrap/39150 (Configure scripts have no 64-Bit Solaris defin…
Browse files Browse the repository at this point in the history
…ed (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
  • Loading branch information
rorth committed Jul 7, 2011
1 parent fcf7471 commit fbdd5d8
Show file tree
Hide file tree
Showing 35 changed files with 213 additions and 58 deletions.
7 changes: 7 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2011-07-07 Rainer Orth <[email protected]>

PR target/39150
* configure.ac (i[3456789]86-*-solaris2*): Also accept
x86_64-*-solaris2.1[0-9]*.
* configure: Regenerate.

2011-06-29 Richard Sandiford <[email protected]>

* MAINTAINERS (RTL optimizers): Add self.
Expand Down
7 changes: 7 additions & 0 deletions boehm-gc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
2011-07-07 Rainer Orth <[email protected]>

PR target/39150
* configure.ac (i?86-*-solaris2.[89]): Also accept
x86_64-*-solaris2.1?.
* configure: Regenerate.

2011-06-29 Rainer Orth <[email protected]>

PR libgcj/49451
Expand Down
2 changes: 1 addition & 1 deletion boehm-gc/configure
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion boehm-gc/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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*)
Expand Down
2 changes: 1 addition & 1 deletion configure
Original file line number Diff line number Diff line change
Expand Up @@ -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*)
Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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*)
Expand Down
30 changes: 30 additions & 0 deletions gcc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
2011-07-07 Rainer Orth <[email protected]>

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 <[email protected]>

* config/sol2.h (ASM_SPEC): Split into ...
Expand Down
5 changes: 5 additions & 0 deletions gcc/ada/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2011-07-07 Rainer Orth <[email protected]>

PR target/39150
* gcc-interface/Makefile.in: Handle x86_64-solaris2.

2011-07-06 Richard Guenther <[email protected]>

* gcc-interface/misc.c (gnat_init):
Expand Down
32 changes: 24 additions & 8 deletions gcc/ada/gcc-interface/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand All @@ -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
Expand Down
4 changes: 2 additions & 2 deletions gcc/config.gcc
Original file line number Diff line number Diff line change
Expand Up @@ -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*.
Expand Down Expand Up @@ -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*)
Expand Down
2 changes: 1 addition & 1 deletion gcc/config.host
Original file line number Diff line number Diff line change
Expand Up @@ -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"
;;
Expand Down
2 changes: 1 addition & 1 deletion gcc/config/host-solaris.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
13 changes: 8 additions & 5 deletions gcc/config/i386/sol2-bi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>" */
Expand All @@ -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"

Expand Down
5 changes: 4 additions & 1 deletion gcc/config/i386/sol2.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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 \
Expand Down
18 changes: 17 additions & 1 deletion gcc/config/sol2-bi.h
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand All @@ -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
Expand Down
10 changes: 0 additions & 10 deletions gcc/config/sparc/sol2.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 ""

Expand Down
12 changes: 8 additions & 4 deletions gcc/configure
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 && \
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
;;
Expand Down
12 changes: 8 additions & 4 deletions gcc/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 && \
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
;;
Expand Down
Loading

0 comments on commit fbdd5d8

Please sign in to comment.