[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