[COMMITTED] Remove obsolete Solaris 11.3 support
Rainer Orth
ro@CeBiTec.Uni-Bielefeld.DE
Thu May 2 14:06:32 GMT 2024
Support for Solaris 11.3 had already been obsoleted in GCC 13. However,
since the only Solaris system in the cfarm was running 11.3, I've kept
it in tree until now when both Solaris 11.4/SPARC and x86 systems have
been added.
This patch actually removes the Solaris 11.3 support. Apart from
several minor simplifications, there are two more widespread changes:
* In Solaris 11.4, libsocket and libnsl were folded into libc, so
there's no longer a need to link them explictly.
* Since Solaris 11.4, Solaris includes all crts needed by gcc (like
crt1.o and gcrt1.o) with the base system. All workarounds to provide
fallbacks can thus go.
There is some additional potential for cleanup which I haven't included
in this patch for various reasons. I'm Cc'ing the respective
maintainers for guidance instead:
* libgo configure.ac and Makefile.am can now expect HAVE_STAT_TIMESPEC
to be true and libgo_cv_lib_setcontext_clobbers_tls doesn't apply any
longer. Any change would have to go upstream first and I don't know
about Ian's policy for keeping older versions supported.
* libphobos (libdruntime/gcc/sections/elf.d) has a workaround for the
lack of struct dl_phdr_info.dlpi_tls_modid. This was actually added
in Solaris 11.4 SRU 10 only, so one may or may not want to keep it.
* The same applies to libsanitizer (with a couple of additional
cleanups). This would have to go upstream anyway (maybe made
uncontroversial since LLVM itself never supported Solaris 11.3 itself,
only allowing some code in to accomodate GCC).
* libstdc++ acinclude.m4 has support for detecting
glibcxx_cv_math11_{fp,int}_overload. In Solaris 11.4, those should
always be true, so one may want to simplify the code accordingly.
Bootstrapped without regressions on i386-pc-solaris2.11 and
sparc-sun-solaris2.11 (as/ld, gas/ld, and gas/gld) as well as Solaris
11.3/x86 to ascertain that version is actually rejected.
Will commit shortly.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2024-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
c++tools:
* configure.ac (ax_lib_socket_nsl.m4): Don't sinclude.
(AX_LIB_SOCKET_NSL): Don't call.
(NETLIBS): Remove.
* Makefile.in (NETLIBS): Remove.
(g++-mapper-server$(exeext)): Remove $(NETLIBS).
gcc:
* config.gcc: Move *-*-solaris2.11.[0-3]* to unsupported list.
<*-*-solaris2*> (default_use_cxa_atexit): Set unconditionally.
* configure.ac (AX_LIB_SOCKET_NSL): Don't call.
(NETLIBS): Remove.
(gcc_cv_aligned_shf_merge) <sparc*-*-solaris2.11*>:
Remove pre-Solaris 11.4 handling.
(hidden_linkonce) <i?86-*-solaris2* | x86_64-*-solaris2*>: Remove.
* Makefile.in (NETLIBS): Remove.
* configure, config.in, aclocal.m4: Regenerate.
* config/sol2.h: Don't check HAVE_SOLARIS_CRTS.
(STARTFILE_SPEC): Remove !HAVE_SOLARIS_CRTS case.
* config/i386/i386.cc (USE_HIDDEN_LINKONCE): Remove guard.
* doc/install.texi (Specific,i?86-*-solaris2*): Reference Solaris
11.4 only.
(Specific, *-*-solaris2*): Document Solaris 11.3 removal. Remove
11.3 references and caveats. Update for 11.4.
gcc/cp:
* Make-lang.in (cc1plus$(exeext)): Remove $(NETLIBS).
gcc/objcp:
* Make-lang.in (cc1objplus$(exeext)): Remove $(NETLIBS).
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_pie): Always
enable on *-*-solaris2*.
libgcc:
* configure.ac <*-*-solaris2*> (libgcc_cv_solaris_crts): Remove.
* config.host <*-*-solaris2*>: Remove !libgcc_cv_solaris_crts
support.
* configure, config.in: Regenerate.
* config/sol2/gmon.c (internal_mcount) [!HAVE_SOLARIS_CRTS]: Remove.
* config/i386/sol2-c1.S, config/sparc/sol2-c1.S: Remove.
* config/sol2/t-sol2 (crt1.o, gcrt1.o): Remove.
libstdc++-v3:
* testsuite/lib/dg-options.exp (add_options_for_net_ts)
<*-*-solaris2*>: Don't link with -lsocket -lnsl.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sol113-removal.patch
Type: text/x-patch
Size: 36272 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20240502/9ff82b10/attachment-0001.bin>
More information about the Libstdc++
mailing list