From 4a7a8e11a3341657d3a8a1a630f1faeba802a52d Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Tue, 21 Nov 2017 09:31:12 +0000 Subject: [PATCH] Adapt Solaris 12 references libgo: Backport from mainline With the change in the Solaris release model (no more major releases like Solaris 12 but only minor ones like 11.4), the Solaris 12 references in GCC need to be adapted. Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/77490 libgcc: Backport from mainline 2017-11-14 Rainer Orth * config.host (*-*-solaris2*): Adapt comment for Solaris 12 renaming. * config/sol2/crtpg.c (__start_crt_compiler): Likewise. * configure.ac (libgcc_cv_solaris_crts): Likewise. * configure: Regenerate. gcc: Backport from mainline 2017-11-14 Rainer Orth * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since Solaris 11. Update comment. * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 renaming. * config/sol2.h (STARTFILE_SPEC): Likewise. * configure: Regenerate. gcc/testsuite: Backport from mainline 2017-11-14 Rainer Orth * lib/target-supports.exp (check_effective_target_pie): Adapt comment for Solaris 12 renaming. * gcc.dg/torture/pr60092.c: Remove *-*-solaris2.11* dg-xfail-run-if. From-SVN: r254994 --- gcc/ChangeLog | 12 ++++++++++++ gcc/config.gcc | 4 ++-- gcc/config/sol2.h | 4 ++-- gcc/configure | 2 +- gcc/configure.ac | 2 +- gcc/testsuite/ChangeLog | 10 ++++++++++ gcc/testsuite/gcc.dg/torture/pr60092.c | 1 - gcc/testsuite/lib/target-supports.exp | 4 ++-- libgcc/ChangeLog | 11 +++++++++++ libgcc/config.host | 2 +- libgcc/config/sol2/crtpg.c | 9 ++++----- libgcc/configure | 2 +- libgcc/configure.ac | 2 +- libgo/Makefile.am | 2 +- libgo/Makefile.in | 2 +- libgo/configure | 6 +++--- libgo/configure.ac | 2 +- libgo/mkrsysinfo.sh | 8 ++++---- libgo/mksysinfo.sh | 8 ++++---- 19 files changed, 62 insertions(+), 31 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c1eb6a2724d..b0f92f3f117 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2017-11-21 Rainer Orth + + Backport from mainline + 2017-11-14 Rainer Orth + + * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since + Solaris 11. Update comment. + * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 + renaming. + * config/sol2.h (STARTFILE_SPEC): Likewise. + * configure: Regenerate. + 2017-11-20 Segher Boessenkool Backport from mainline diff --git a/gcc/config.gcc b/gcc/config.gcc index 53b9631f4c5..2a6d6430594 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -858,8 +858,8 @@ case ${target} in 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[2-9]*) - # __cxa_atexit was introduced in Solaris 12. + *-*-solaris2.1[1-9]*) + # __cxa_atexit was introduced in Solaris 11.4. default_use_cxa_atexit=yes ;; esac diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h index bc53a1ca284..d522de03f4a 100644 --- a/gcc/config/sol2.h +++ b/gcc/config/sol2.h @@ -205,8 +205,8 @@ 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.x and Solaris 12, the OS delivers crt1.o, crti.o, and - crtn.o, with a hook for compiler-dependent stuff like profile handling. */ +/* 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: \ crt1.o%s \ %{p:%e-p is not supported; \ diff --git a/gcc/configure b/gcc/configure index 84184b924f7..043a62b0de9 100755 --- a/gcc/configure +++ b/gcc/configure @@ -28154,7 +28154,7 @@ elif test x$gcc_cv_ld != x; then else case "$target" in *-*-solaris2.1[1-9]*) - # Solaris 11.x and Solaris 12 added PIE support. + # Solaris 11.3 added PIE support. if $gcc_cv_ld -z help 2>&1 | grep -- type.*pie > /dev/null; then gcc_cv_ld_pie=yes fi diff --git a/gcc/configure.ac b/gcc/configure.ac index 31db9582668..2b52da3bbcc 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -5052,7 +5052,7 @@ elif test x$gcc_cv_ld != x; then else case "$target" in *-*-solaris2.1[[1-9]]*) - # Solaris 11.x and Solaris 12 added PIE support. + # Solaris 11.3 added PIE support. if $gcc_cv_ld -z help 2>&1 | grep -- type.*pie > /dev/null; then gcc_cv_ld_pie=yes fi diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0b36b551acb..02241f4eb73 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,13 @@ +2017-11-21 Rainer Orth + + Backport from mainline + 2017-11-14 Rainer Orth + + * lib/target-supports.exp (check_effective_target_pie): Adapt + comment for Solaris 12 renaming. + + * gcc.dg/torture/pr60092.c: Remove *-*-solaris2.11* dg-xfail-run-if. + 2017-11-20 Segher Boessenkool Backport from mainline diff --git a/gcc/testsuite/gcc.dg/torture/pr60092.c b/gcc/testsuite/gcc.dg/torture/pr60092.c index d66e3f2444e..7c6cabb509a 100644 --- a/gcc/testsuite/gcc.dg/torture/pr60092.c +++ b/gcc/testsuite/gcc.dg/torture/pr60092.c @@ -4,7 +4,6 @@ /* { dg-skip-if "No undefined weak" { nvptx-*-* } { "*" } { "" } } */ /* { dg-additional-options "-Wl,-undefined,dynamic_lookup" { target *-*-darwin* } } */ /* { dg-additional-options "-Wl,-flat_namespace" { target *-*-darwin[89]* } } */ -/* { dg-xfail-run-if "posix_memalign modifies first arg on error" { *-*-solaris2.11* } { "-O0" } } */ typedef __SIZE_TYPE__ size_t; extern int posix_memalign(void **memptr, size_t alignment, size_t size) __attribute__((weak)); diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 92dcae25e32..063f339e510 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1125,8 +1125,8 @@ proc check_effective_target_pie { } { return 1; } if { [istarget *-*-solaris2.1\[1-9\]*] } { - # Full PIE support was added in Solaris 11.x and Solaris 12, but gcc - # errors out if missing, so check for that. + # 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"] diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index d994e5b0afe..c6b8cde3b5e 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,14 @@ +2017-11-21 Rainer Orth + + Backport from mainline + 2017-11-14 Rainer Orth + + * config.host (*-*-solaris2*): Adapt comment for Solaris 12 + renaming. + * config/sol2/crtpg.c (__start_crt_compiler): Likewise. + * configure.ac (libgcc_cv_solaris_crts): Likewise. + * configure: Regenerate. + 2017-11-17 Vineet Gupta * config.host: Remove uclibc from arc target spec. diff --git a/libgcc/config.host b/libgcc/config.host index 8a91ca19b79..92430ae9035 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -280,7 +280,7 @@ case ${host} in tmake_file="$tmake_file $cpu_type/t-sol2" extra_parts="gmon.o crtbegin.o crtend.o" if test "${libgcc_cv_solaris_crts}" = yes; then - # Solaris 11.x and 12 provide crt1.o, crti.o, and crtn.o as part of the + # Solaris 11.4 provides crt1.o, crti.o, and crtn.o as part of the # base system. crtp.o and crtpg.o implement the compiler-dependent parts. extra_parts="$extra_parts crtp.o crtpg.o" # If the Solaris CRTs are present, both ld and gld will have PIE support. diff --git a/libgcc/config/sol2/crtpg.c b/libgcc/config/sol2/crtpg.c index dcebfcdcdf0..d5966b0226b 100644 --- a/libgcc/config/sol2/crtpg.c +++ b/libgcc/config/sol2/crtpg.c @@ -31,11 +31,10 @@ extern char _start[], _etext[]; int __start_crt_compiler (int, char **); -/* Since Solaris 11.x and Solaris 12, the system-provided CRTs provide a - hook to invoke initialization code early during process startup. - __start_crt_compiler is documented in crt1.o(5). We use it to perform - initialization for profiling as a substitute for the earlier separate - gcrt1.o. */ +/* Since Solaris 11.4, the system-provided CRTs provide a hook to invoke + initialization code early during process startup. __start_crt_compiler + is documented in crt1.o(5). We use it to perform initialization for + profiling as a substitute for the earlier separate gcrt1.o. */ int __start_crt_compiler (int argc __attribute__ ((unused)), diff --git a/libgcc/configure b/libgcc/configure index 42dda7fbeec..9a7eb8446bb 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -4875,7 +4875,7 @@ esac case ${host} in *-*-solaris2*) - # Check for system-provided CRTs on Solaris 11.x and Solaris 12. + # Check for system-provided CRTs on Solaris 11.4. { $as_echo "$as_me:${as_lineno-$LINENO}: checking system-provided CRTs on Solaris" >&5 $as_echo_n "checking system-provided CRTs on Solaris... " >&6; } if test "${libgcc_cv_solaris_crts+set}" = set; then : diff --git a/libgcc/configure.ac b/libgcc/configure.ac index 6bcaad651ff..99b8e15562f 100644 --- a/libgcc/configure.ac +++ b/libgcc/configure.ac @@ -296,7 +296,7 @@ esac case ${host} in *-*-solaris2*) - # Check for system-provided CRTs on Solaris 11.x and Solaris 12. + # Check for system-provided CRTs on Solaris 11.4. AC_CACHE_CHECK([system-provided CRTs on Solaris], [libgcc_cv_solaris_crts], [libgcc_cv_solaris_crts=no diff --git a/libgo/Makefile.am b/libgo/Makefile.am index 471d53baf42..f7d613ab0ef 100644 --- a/libgo/Makefile.am +++ b/libgo/Makefile.am @@ -1118,7 +1118,7 @@ syscall/wait.lo: go/syscall/wait.c runtime.inc @$(MKDIR_P) syscall $(LTCOMPILE) -c -o $@ $(srcdir)/go/syscall/wait.c -# Solaris 12 changed the type of fields in struct stat. +# Solaris 11.4 changed the type of fields in struct stat. # Use a build tag, based on a configure check, to cope. if LIBGO_IS_SOLARIS if HAVE_STAT_TIMESPEC diff --git a/libgo/Makefile.in b/libgo/Makefile.in index 400fab66e9a..cdeaaa44a98 100644 --- a/libgo/Makefile.in +++ b/libgo/Makefile.in @@ -1173,7 +1173,7 @@ runtime_pprof_check_GOCFLAGS = -static-libgo -fno-inline extra_go_files_runtime_internal_sys = version.go @HAVE_STAT_TIMESPEC_FALSE@@LIBGO_IS_SOLARIS_TRUE@matchargs_os = -# Solaris 12 changed the type of fields in struct stat. +# Solaris 11.4 changed the type of fields in struct stat. # Use a build tag, based on a configure check, to cope. @HAVE_STAT_TIMESPEC_TRUE@@LIBGO_IS_SOLARIS_TRUE@matchargs_os = --tag=solaristag @LIBGO_IS_SOLARIS_FALSE@matchargs_os = diff --git a/libgo/configure b/libgo/configure index b848167d517..1d3d714fc05 100755 --- a/libgo/configure +++ b/libgo/configure @@ -11104,7 +11104,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11107 "configure" +#line 11108 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11210,7 +11210,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11213 "configure" +#line 11214 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13753,7 +13753,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac case "${host}" in mips*el-*-*) - GOARCH="${GOARCH}le" + GOARCH="${GOARCH}le" ;; *) GOARCH_BIGENDIAN=1 diff --git a/libgo/configure.ac b/libgo/configure.ac index 672bc0073bc..51b2c161846 100644 --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -737,7 +737,7 @@ STRUCT_EPOLL_EVENT_FD_OFFSET=${libgo_cv_c_epoll_event_fd_offset} AC_SUBST(STRUCT_EPOLL_EVENT_FD_OFFSET) dnl Check if uses timespec_t for st_?tim members. Introduced -dnl in Solaris 12 for XPG7 compatibility. +dnl in Solaris 11.4 for XPG7 compatibility. AC_EGREP_HEADER([timespec_t.*st_atim], [sys/stat.h], [have_stat_timespec=yes], [have_stat_timespec=no]) AM_CONDITIONAL(HAVE_STAT_TIMESPEC, test $have_stat_timespec = yes) diff --git a/libgo/mkrsysinfo.sh b/libgo/mkrsysinfo.sh index af185945010..1296e800376 100755 --- a/libgo/mkrsysinfo.sh +++ b/libgo/mkrsysinfo.sh @@ -115,22 +115,22 @@ grep '^type _zone_net_addr_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr/[16]byte/' \ >> ${OUT} -# The Solaris 12 _flow_arp_desc_t struct. +# The Solaris 11.4 _flow_arp_desc_t struct. grep '^type _flow_arp_desc_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} -# The Solaris 12 _flow_l3_desc_t struct. +# The Solaris 11.4 _flow_l3_desc_t struct. grep '^type _flow_l3_desc_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} -# The Solaris 12 _mac_ipaddr_t struct. +# The Solaris 11.3 _mac_ipaddr_t struct. grep '^type _mac_ipaddr_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} -# The Solaris 12 _mactun_info_t struct. +# The Solaris 11.3 _mactun_info_t struct. grep '^type _mactun_info_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh index 4fcf89f094c..61d39d7e2dd 100755 --- a/libgo/mksysinfo.sh +++ b/libgo/mksysinfo.sh @@ -1263,22 +1263,22 @@ grep '^type _zone_net_addr_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr/[16]byte/' \ >> ${OUT} -# The Solaris 12 _flow_arp_desc_t struct. +# The Solaris 11.4 _flow_arp_desc_t struct. grep '^type _flow_arp_desc_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} -# The Solaris 12 _flow_l3_desc_t struct. +# The Solaris 11.4 _flow_l3_desc_t struct. grep '^type _flow_l3_desc_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} -# The Solaris 12 _mac_ipaddr_t struct. +# The Solaris 11.3 _mac_ipaddr_t struct. grep '^type _mac_ipaddr_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT} -# The Solaris 12 _mactun_info_t struct. +# The Solaris 11.3 _mactun_info_t struct. grep '^type _mactun_info_t ' gen-sysinfo.go | \ sed -e 's/_in6_addr_t/[16]byte/g' \ >> ${OUT}