aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/Makefile.in1
-rw-r--r--gcc/aclocal.m41
-rw-r--r--gcc/config.gcc16
-rw-r--r--gcc/config.in13
-rw-r--r--gcc/config/i386/i386.cc10
-rw-r--r--gcc/config/sol2.h22
-rwxr-xr-xgcc/configure224
-rw-r--r--gcc/configure.ac58
-rw-r--r--gcc/cp/Make-lang.in2
-rw-r--r--gcc/doc/install.texi39
-rw-r--r--gcc/objcp/Make-lang.in2
-rw-r--r--gcc/testsuite/lib/target-supports.exp8
-rw-r--r--gcc/varasm.cc6
13 files changed, 36 insertions, 366 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index a74761b..ecd5114 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -447,7 +447,6 @@ CPPINC = -I$(srcdir)/../libcpp/include
CODYLIB = ../libcody/libcody.a
CODYINC = -I$(srcdir)/../libcody
-NETLIBS = @NETLIBS@
# Where to find decNumber
enable_decimal_float = @enable_decimal_float@
diff --git a/gcc/aclocal.m4 b/gcc/aclocal.m4
index c0fcbeb..762e949 100644
--- a/gcc/aclocal.m4
+++ b/gcc/aclocal.m4
@@ -68,7 +68,6 @@ m4_include([../ltsugar.m4])
m4_include([../ltversion.m4])
m4_include([../lt~obsolete.m4])
m4_include([../config/acx.m4])
-m4_include([../config/ax_lib_socket_nsl.m4])
m4_include([../config/cet.m4])
m4_include([../config/codeset.m4])
m4_include([../config/depstand.m4])
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 95c91ee..65bbe9e 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -271,9 +271,8 @@ case ${target}:`uname -v` in
esac
# Obsolete configurations.
-case ${target}${target_min} in
- *-*-solaris2.11.[0-3]* \
- | ia64*-*-* \
+case ${target} in
+ ia64*-*-* \
| nios2*-*-* \
)
if test "x$enable_obsolete" != xyes; then
@@ -288,7 +287,7 @@ esac
# Unsupported targets list. Do not put an entry in this list unless
# it would otherwise be caught by a more permissive pattern. The list
# should be in alphabetical order.
-case ${target} in
+case ${target}${target_min} in
# Avoid special cases that are not obsolete
arm*-*-*eabi* \
)
@@ -325,6 +324,7 @@ case ${target} in
| *-*-solaris2.[0-9] \
| *-*-solaris2.[0-9].* \
| *-*-solaris2.10* \
+ | *-*-solaris2.11.[0-3]* \
| *-*-sysv* \
| vax-*-vms* \
)
@@ -1046,12 +1046,8 @@ case ${target} in
sol2_tm_file_head="elfos.h ${cpu_type}/sysv4.h"
sol2_tm_file_tail="${cpu_type}/sol2.h sol2.h"
sol2_tm_file="${sol2_tm_file_head} ${sol2_tm_file_tail}"
- case ${target} in
- *-*-solaris2.1[1-9]*)
- # __cxa_atexit was introduced in Solaris 11.4.
- default_use_cxa_atexit=yes
- ;;
- esac
+ # __cxa_atexit was introduced in Solaris 11.4.
+ default_use_cxa_atexit=yes
use_gcc_stdint=wrap
if test x$gnu_ld = xyes; then
tm_file="usegld.h ${tm_file}"
diff --git a/gcc/config.in b/gcc/config.in
index f3de4ba..e41b6dc 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -1672,13 +1672,6 @@
#endif
-/* Define 0/1 if your linker supports the SHF_MERGE flag with section
- alignment > 1. */
-#ifndef USED_FOR_TARGET
-#undef HAVE_LD_ALIGNED_SHF_MERGE
-#endif
-
-
/* Define if your linker supports --as-needed/--no-as-needed or equivalent
options. */
#ifndef USED_FOR_TARGET
@@ -2560,12 +2553,6 @@
#endif
-/* Define 0/1 if your linker supports hidden thunks in linkonce sections. */
-#ifndef USED_FOR_TARGET
-#undef USE_HIDDEN_LINKONCE
-#endif
-
-
/* Define to 1 if the 'long long' type is wider than 'long' but still
efficiently supported by the host hardware. */
#ifndef USED_FOR_TARGET
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index e67e5f6..e58335a 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -5976,12 +5976,10 @@ ix86_setup_frame_addresses (void)
cfun->machine->accesses_prev_frame = 1;
}
-#ifndef USE_HIDDEN_LINKONCE
-# if defined(HAVE_GAS_HIDDEN) && (SUPPORTS_ONE_ONLY - 0)
-# define USE_HIDDEN_LINKONCE 1
-# else
-# define USE_HIDDEN_LINKONCE 0
-# endif
+#if defined(HAVE_GAS_HIDDEN) && (SUPPORTS_ONE_ONLY - 0)
+# define USE_HIDDEN_LINKONCE 1
+#else
+# define USE_HIDDEN_LINKONCE 0
#endif
/* Label count for call and return thunks. It is used to make unique
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 85c1f9d..c602a94 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -204,7 +204,7 @@ along with GCC; see the file COPYING3. If not see
%{ansi|std=c*|std=iso9899\\:199409:values-Xc.o%s; :values-Xa.o%s} \
%{std=c90|std=gnu90:values-xpg4.o%s; :values-xpg6.o%s}}}"
-#if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS)
+#if defined(HAVE_LD_PIE)
#define STARTFILE_CRTBEGIN_SPEC "%{static:crtbegin.o%s; \
shared|" PIE_SPEC ":crtbeginS.o%s; \
:crtbegin.o%s}"
@@ -265,7 +265,6 @@ along with GCC; see the file COPYING3. If not see
/* We don't use the standard svr4 STARTFILE_SPEC because it's wrong for us. */
#undef STARTFILE_SPEC
-#ifdef HAVE_SOLARIS_CRTS
/* Since Solaris 11.4, the OS delivers crt1.o, crti.o, and crtn.o, with a hook
for compiler-dependent stuff like profile handling. */
#define STARTFILE_SPEC "%{!shared:%{!symbolic: \
@@ -275,16 +274,8 @@ along with GCC; see the file COPYING3. If not see
:crtp.o%s}}} \
crti.o%s %(startfile_arch) %(startfile_crtbegin) \
%(startfile_vtv)"
-#else
-#define STARTFILE_SPEC "%{!shared:%{!symbolic: \
- %{p:mcrt1.o%s; \
- pg:gcrt1.o%s gmon.o%s; \
- :crt1.o%s}}} \
- crti.o%s %(startfile_arch) %(startfile_crtbegin) \
- %(startfile_vtv)"
-#endif
-#if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS)
+#if defined(HAVE_LD_PIE)
#define ENDFILE_CRTEND_SPEC "%{static:crtend.o%s; \
shared|" PIE_SPEC ":crtendS.o%s; \
:crtend.o%s}"
@@ -427,14 +418,13 @@ along with GCC; see the file COPYING3. If not see
#endif
#ifdef USE_GLD
-/* Solaris 11 build 135+ implements dl_iterate_phdr. GNU ld needs
- --eh-frame-hdr to create the required .eh_frame_hdr sections. */
-#if defined(HAVE_LD_EH_FRAME_HDR) && defined(TARGET_DL_ITERATE_PHDR)
+/* GNU ld needs --eh-frame-hdr to create the required .eh_frame_hdr sections. */
+#if defined(HAVE_LD_EH_FRAME_HDR)
#define LINK_EH_SPEC "%{!static|static-pie:--eh-frame-hdr} "
-#endif /* HAVE_LD_EH_FRAME && TARGET_DL_ITERATE_PHDR */
+#endif /* HAVE_LD_EH_FRAME */
#endif
-#if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS)
+#if defined(HAVE_LD_PIE)
#ifdef USE_GLD
/* Assert -z text by default to match Solaris ld. */
#define LD_PIE_SPEC "-pie %{!mimpure-text:-z text}"
diff --git a/gcc/configure b/gcc/configure
index 23da7d5..aaf5899 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -809,7 +809,6 @@ ZSTD_LIB
ZSTD_INCLUDE
DL_LIB
LDEXP_LIB
-NETLIBS
EXTRA_GCC_LIBS
GNAT_LIBEXC
COLLECT2_LIBS
@@ -10285,170 +10284,6 @@ EXTRA_GCC_LIBS="$LIBS"
LIBS="$save_LIBS"
-# Solaris needs libsocket and libnsl for socket functions before 11.4.
-# C++ needs those for libcody.
-save_LIBS="$LIBS"
-LIBS=
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5
-$as_echo_n "checking for library containing gethostbyname... " >&6; }
-if ${ac_cv_search_gethostbyname+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' nsl; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_cxx_try_link "$LINENO"; then :
- ac_cv_search_gethostbyname=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_gethostbyname+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_gethostbyname+:} false; then :
-
-else
- ac_cv_search_gethostbyname=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5
-$as_echo "$ac_cv_search_gethostbyname" >&6; }
-ac_res=$ac_cv_search_gethostbyname
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5
-$as_echo_n "checking for library containing socket... " >&6; }
-if ${ac_cv_search_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-for ac_lib in '' socket; do
- if test -z "$ac_lib"; then
- ac_res="none required"
- else
- ac_res=-l$ac_lib
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- fi
- if ac_fn_cxx_try_link "$LINENO"; then :
- ac_cv_search_socket=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext
- if ${ac_cv_search_socket+:} false; then :
- break
-fi
-done
-if ${ac_cv_search_socket+:} false; then :
-
-else
- ac_cv_search_socket=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5
-$as_echo "$ac_cv_search_socket" >&6; }
-ac_res=$ac_cv_search_socket
-if test "$ac_res" != no; then :
- test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5
-$as_echo_n "checking for socket in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_socket+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket -lnsl $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char socket ();
-int
-main ()
-{
-return socket ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
- ac_cv_lib_socket_socket=yes
-else
- ac_cv_lib_socket_socket=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5
-$as_echo "$ac_cv_lib_socket_socket" >&6; }
-if test "x$ac_cv_lib_socket_socket" = xyes; then :
- LIBS="-lsocket -lnsl $LIBS"
-fi
-
-fi
-
-
-NETLIBS="$LIBS"
-LIBS="$save_LIBS"
-
-
# Some systems put ldexp and frexp in libm instead of libc; assume
# they're both in the same place. jcf-dump needs them.
save_LIBS="$LIBS"
@@ -21575,7 +21410,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 21578 "configure"
+#line 21413 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -21681,7 +21516,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 21684 "configure"
+#line 21519 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -27105,23 +26940,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-gcc_cv_ld_aligned_shf_merge=yes
-case "$target" in
- # SHF_MERGE support is broken in Solaris ld up to Solaris 11.3/SPARC for
- # alignment > 1.
- sparc*-*-solaris2.11*)
- if test x"$gnu_ld" = xno \
- && test "$ld_vers_major" -lt 2 && test "$ld_vers_minor" -lt 3159; then
- gcc_cv_ld_aligned_shf_merge=no
- fi
- ;;
-esac
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_LD_ALIGNED_SHF_MERGE `if test $gcc_cv_ld_aligned_shf_merge = yes; then echo 1; else echo 0; fi`
-_ACEOF
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for COMDAT group support (GNU as)" >&5
$as_echo_n "checking assembler for COMDAT group support (GNU as)... " >&6; }
if ${gcc_cv_as_comdat_group+:} false; then :
@@ -27303,35 +27121,6 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
-# Restrict this test to Solaris/x86: other targets define this statically.
-case "${target}" in
- i?86-*-solaris2* | x86_64-*-solaris2*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking support for hidden thunks in linkonce sections" >&5
-$as_echo_n "checking support for hidden thunks in linkonce sections... " >&6; }
- if test $in_tree_ld = yes || echo "$ld_ver" | grep GNU > /dev/null; then
- hidden_linkonce=yes
- else
- case "${target}" in
- # Full support for hidden thunks in linkonce sections only appeared in
- # Solaris 11/OpenSolaris.
- *-*-solaris2.1[1-9]*)
- hidden_linkonce=yes
- ;;
- *)
- hidden_linkonce=no
- ;;
- esac
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hidden_linkonce" >&5
-$as_echo "$hidden_linkonce" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define USE_HIDDEN_LINKONCE `if test $hidden_linkonce = yes; then echo 1; else echo 0; fi`
-_ACEOF
-
- ;;
-esac
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for line table is_stmt support" >&5
$as_echo_n "checking assembler for line table is_stmt support... " >&6; }
if ${gcc_cv_as_is_stmt+:} false; then :
@@ -33631,14 +33420,7 @@ $as_echo_n "checking dl_iterate_phdr in target C library... " >&6; }
gcc_cv_target_dl_iterate_phdr=unknown
case "$target" in
*-*-solaris2*)
- # <link.h> needs both a dl_iterate_phdr declaration and support for
- # compilation with largefile support.
- if grep dl_iterate_phdr $target_header_dir/link.h > /dev/null 2>&1 \
- && grep 'large file capable' $target_header_dir/link.h > /dev/null 2>&1; then
- gcc_cv_target_dl_iterate_phdr=yes
- else
- gcc_cv_target_dl_iterate_phdr=no
- fi
+ gcc_cv_target_dl_iterate_phdr=yes
;;
*-*-dragonfly* | *-*-freebsd*)
if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > /dev/null 2>&1; then
diff --git a/gcc/configure.ac b/gcc/configure.ac
index d7cf0b9..f8d67ef 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1434,15 +1434,6 @@ EXTRA_GCC_LIBS="$LIBS"
LIBS="$save_LIBS"
AC_SUBST(EXTRA_GCC_LIBS)
-# Solaris needs libsocket and libnsl for socket functions before 11.4.
-# C++ needs those for libcody.
-save_LIBS="$LIBS"
-LIBS=
-AX_LIB_SOCKET_NSL
-NETLIBS="$LIBS"
-LIBS="$save_LIBS"
-AC_SUBST(NETLIBS)
-
# Some systems put ldexp and frexp in libm instead of libc; assume
# they're both in the same place. jcf-dump needs them.
save_LIBS="$LIBS"
@@ -3599,21 +3590,6 @@ AC_DEFINE_UNQUOTED(HAVE_GAS_SHF_MERGE,
[`if test $gcc_cv_as_shf_merge = yes; then echo 1; else echo 0; fi`],
[Define 0/1 if your assembler supports marking sections with SHF_MERGE flag.])
-gcc_cv_ld_aligned_shf_merge=yes
-case "$target" in
- # SHF_MERGE support is broken in Solaris ld up to Solaris 11.3/SPARC for
- # alignment > 1.
- sparc*-*-solaris2.11*)
- if test x"$gnu_ld" = xno \
- && test "$ld_vers_major" -lt 2 && test "$ld_vers_minor" -lt 3159; then
- gcc_cv_ld_aligned_shf_merge=no
- fi
- ;;
-esac
-AC_DEFINE_UNQUOTED(HAVE_LD_ALIGNED_SHF_MERGE,
- [`if test $gcc_cv_ld_aligned_shf_merge = yes; then echo 1; else echo 0; fi`],
-[Define 0/1 if your linker supports the SHF_MERGE flag with section alignment > 1.])
-
gcc_GAS_CHECK_FEATURE([COMDAT group support (GNU as)],
gcc_cv_as_comdat_group,
[--fatal-warnings],
@@ -3723,31 +3699,6 @@ AC_DEFINE_UNQUOTED(HAVE_COMDAT_GROUP,
|| test $gcc_cv_as_comdat_group_group = yes; then echo 1; else echo 0; fi`],
[Define 0/1 if your assembler and linker support COMDAT groups.])
-# Restrict this test to Solaris/x86: other targets define this statically.
-case "${target}" in
- i?86-*-solaris2* | x86_64-*-solaris2*)
- AC_MSG_CHECKING(support for hidden thunks in linkonce sections)
- if test $in_tree_ld = yes || echo "$ld_ver" | grep GNU > /dev/null; then
- hidden_linkonce=yes
- else
- case "${target}" in
- # Full support for hidden thunks in linkonce sections only appeared in
- # Solaris 11/OpenSolaris.
- *-*-solaris2.1[[1-9]]*)
- hidden_linkonce=yes
- ;;
- *)
- hidden_linkonce=no
- ;;
- esac
- fi
- AC_MSG_RESULT($hidden_linkonce)
- AC_DEFINE_UNQUOTED(USE_HIDDEN_LINKONCE,
- [`if test $hidden_linkonce = yes; then echo 1; else echo 0; fi`],
- [Define 0/1 if your linker supports hidden thunks in linkonce sections.])
- ;;
-esac
-
gcc_GAS_CHECK_FEATURE([line table is_stmt support],
gcc_cv_as_is_stmt,,
[ .text
@@ -7153,14 +7104,7 @@ AC_MSG_CHECKING(dl_iterate_phdr in target C library)
gcc_cv_target_dl_iterate_phdr=unknown
case "$target" in
*-*-solaris2*)
- # <link.h> needs both a dl_iterate_phdr declaration and support for
- # compilation with largefile support.
- if grep dl_iterate_phdr $target_header_dir/link.h > /dev/null 2>&1 \
- && grep 'large file capable' $target_header_dir/link.h > /dev/null 2>&1; then
- gcc_cv_target_dl_iterate_phdr=yes
- else
- gcc_cv_target_dl_iterate_phdr=no
- fi
+ gcc_cv_target_dl_iterate_phdr=yes
;;
*-*-dragonfly* | *-*-freebsd*)
if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > /dev/null 2>&1; then
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index f153891..026cf8d 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -143,7 +143,7 @@ cc1plus-checksum.cc : build/genchecksum$(build_exeext) checksum-options \
cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(LIBDEPS) $(c++.prev)
@$(call LINK_PROGRESS,$(INDEX.c++),start)
+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
- $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) $(NETLIBS) \
+ $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(CODYLIB) \
$(LIBS) $(BACKENDLIBS)
@$(call LINK_PROGRESS,$(INDEX.c++),end)
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 9f2e427..42b462a 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -4293,7 +4293,7 @@ found on @uref{https://www.bitwizard.nl/sig11/,,www.bitwizard.nl}.
@end html
@anchor{ix86-x-solaris2}
@heading i?86-*-solaris2*
-Use this for Solaris 11.3 or later on x86 and x86-64 systems. Starting
+Use this for Solaris 11.4 on x86 and x86-64 systems. Starting
with GCC 4.7, there is also a 64-bit @samp{amd64-*-solaris2*} or
@samp{x86_64-*-solaris2*} configuration that corresponds to
@samp{sparcv9-sun-solaris2*}.
@@ -4895,15 +4895,12 @@ supported as cross-compilation target only.
@end html
@anchor{x-x-solaris2}
@heading *-*-solaris2*
-Support for Solaris 11.3 and earlier has been obsoleted in GCC 13, but
-can still be enabled by configuring with @option{--enable-obsolete}.
+Support for Solaris 11.3 and earlier has been removed in GCC 15.
Support for Solaris 10 has been removed in GCC 10. Support for Solaris
9 has been removed in GCC 5. Support for Solaris 8 has been removed in
GCC 4.8. Support for Solaris 7 has been removed in GCC 4.6.
-Solaris 11.3 provides GCC 4.5.2, 4.7.3, and 4.8.2 as
-@command{/usr/gcc/4.5/bin/gcc} or similar. Solaris 11.4
-provides one or more of GCC 5, 7, 9, 10, 11, and 12.
+Solaris 11.4 provides one or more of GCC 5, 7, 9, 10, 11, 12, and 13.
You need to install the @code{system/header}, @code{system/linker}, and
@code{developer/assembler} packages.
@@ -4922,18 +4919,18 @@ of the build.
We recommend the use of the Solaris assembler or the GNU assembler, in
conjunction with the Solaris linker.
-The GNU @command{as} versions included in Solaris 11.3, from GNU
-binutils 2.23.1 or newer (in @file{/usr/bin/gas} and
+The GNU @command{as} versions included in Solaris 11.4, from GNU
+binutils 2.30.1 or newer (in @file{/usr/bin/gas} and
@file{/usr/gnu/bin/as}), are known to work. The version from GNU
-binutils 2.40 is known to work as well. Recent versions of the Solaris
+binutils 2.42 is known to work as well. Recent versions of the Solaris
assembler in @file{/usr/bin/as} work almost as well, though. To use GNU
@command{as}, configure with the options @option{--with-gnu-as
--with-as=@//usr/@/gnu/@/bin/@/as}.
For linking, the Solaris linker is preferred. If you want to use the
-GNU linker instead, the version in Solaris 11.3, from GNU binutils
-2.23.1 or newer (in @file{/usr/gnu/bin/ld} and @file{/usr/bin/gld}),
-works, as does the version from GNU binutils 2.40. However, it
+GNU linker instead, the version in Solaris 11.4, from GNU binutils
+2.30.1 or newer (in @file{/usr/gnu/bin/ld} and @file{/usr/bin/gld}),
+works, as does the version from GNU binutils 2.42. However, it
generally lacks platform specific features, so better stay with Solaris
@command{ld}. To use the LTO linker plugin
(@option{-fuse-linker-plugin}) with GNU @command{ld}, GNU binutils
@@ -4957,7 +4954,7 @@ will be disabled if no appropriate version is found. Solaris
work.
In order to build the GNU Ada compiler, GNAT, a working GNAT is needed.
-Since Solaris 11.4 SRU 39, GNAT 11 or 12 is bundled in the
+Since Solaris 11.4 SRU 39, GNAT 11, 12 or 13 is bundled in the
@code{developer/gcc/gcc-gnat} package.
In order to build the GNU D compiler, GDC, a working @samp{libphobos} is
@@ -4967,20 +4964,8 @@ configuring with @option{--enable-libphobos}. Also, GDC 9.4.0 is
required on x86, while GDC 9.3.0 is known to work on SPARC.
The versions of the GNU Multiple Precision Library (GMP), the MPFR
-library and the MPC library bundled with Solaris 11.3 and later are
-usually recent enough to match GCC's requirements. There are two
-caveats:
-
-@itemize @bullet
-@item
-While the version of the GMP library in Solaris 11.3 works with GCC, you
-need to configure with @option{--with-gmp-include=/usr/include/gmp}.
-
-@item
-The version of the MPFR libary included in Solaris 11.3 is too old; you
-need to provide a more recent one.
-
-@end itemize
+library and the MPC library bundled with Solaris 11.4 are
+recent enough to match GCC's requirements.
@html
<hr />
diff --git a/gcc/objcp/Make-lang.in b/gcc/objcp/Make-lang.in
index 089e4d4..d725119 100644
--- a/gcc/objcp/Make-lang.in
+++ b/gcc/objcp/Make-lang.in
@@ -80,7 +80,7 @@ cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) \
@$(call LINK_PROGRESS,$(INDEX.obj-c++),start)
+$(LLINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) \
- $(CODYLIB) $(NETLIBS) $(LIBS) $(BACKENDLIBS)
+ $(CODYLIB) $(LIBS) $(BACKENDLIBS)
@$(call LINK_PROGRESS,$(INDEX.obj-c++),end)
# Objective C++ language specific files.
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 3a55b2a..6f5d477 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1415,17 +1415,11 @@ proc check_effective_target_pie { } {
|| [istarget *-*-freebsd*]
|| [istarget *-*-linux*]
|| [istarget arm*-*-uclinuxfdpiceabi]
+ || [istarget *-*-solaris2*]
|| [istarget *-*-gnu*]
|| [istarget *-*-amdhsa]} {
return 1;
}
- if { [istarget *-*-solaris2.1\[1-9\]*] } {
- # Full PIE support was added in Solaris 11.3, but gcc errors out
- # if missing, so check for that.
- return [check_no_compiler_messages pie executable {
- int main (void) { return 0; }
- } "-pie -fpie"]
- }
return 0
}
diff --git a/gcc/varasm.cc b/gcc/varasm.cc
index 747f74b..d5cb899 100644
--- a/gcc/varasm.cc
+++ b/gcc/varasm.cc
@@ -886,9 +886,6 @@ mergeable_string_section (tree decl ATTRIBUTE_UNUSED,
if (align < modesize)
align = modesize;
- if (!HAVE_LD_ALIGNED_SHF_MERGE && align > 8)
- return readonly_data_section;
-
str = TREE_STRING_POINTER (decl);
unit = GET_MODE_SIZE (mode);
@@ -927,8 +924,7 @@ mergeable_constant_section (machine_mode mode ATTRIBUTE_UNUSED,
&& known_le (GET_MODE_BITSIZE (mode), align)
&& align >= 8
&& align <= 256
- && (align & (align - 1)) == 0
- && (HAVE_LD_ALIGNED_SHF_MERGE ? 1 : align == 8))
+ && (align & (align - 1)) == 0)
{
const char *prefix = function_mergeable_rodata_prefix ();
char *name = (char *) alloca (strlen (prefix) + 30);