diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/Makefile.in | 1 | ||||
-rw-r--r-- | gcc/aclocal.m4 | 1 | ||||
-rw-r--r-- | gcc/config.gcc | 16 | ||||
-rw-r--r-- | gcc/config.in | 13 | ||||
-rw-r--r-- | gcc/config/i386/i386.cc | 10 | ||||
-rw-r--r-- | gcc/config/sol2.h | 22 | ||||
-rwxr-xr-x | gcc/configure | 224 | ||||
-rw-r--r-- | gcc/configure.ac | 58 | ||||
-rw-r--r-- | gcc/cp/Make-lang.in | 2 | ||||
-rw-r--r-- | gcc/doc/install.texi | 39 | ||||
-rw-r--r-- | gcc/objcp/Make-lang.in | 2 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 8 | ||||
-rw-r--r-- | gcc/varasm.cc | 6 |
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); |