aboutsummaryrefslogtreecommitdiff
path: root/libgcc/config/sol2
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2024-05-07 10:45:55 +0200
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2024-05-07 10:45:55 +0200
commitf68e90a0fe88c50ad6f4b15ba9e9503c710d3444 (patch)
treea854734fe0c1d377a58c6fd4401fa6637b279e30 /libgcc/config/sol2
parent9dbff9c05520a74e6cd337578f27b56c941f64f3 (diff)
downloadgcc-f68e90a0fe88c50ad6f4b15ba9e9503c710d3444.zip
gcc-f68e90a0fe88c50ad6f4b15ba9e9503c710d3444.tar.gz
gcc-f68e90a0fe88c50ad6f4b15ba9e9503c710d3444.tar.bz2
Remove obsolete Solaris 11.3 support
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. 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. 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. * configure: Regenerate. * 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_ld_aligned_shf_merge): Remove. (hidden_linkonce) <i?86-*-solaris2* | x86_64-*-solaris2*>: Remove. (gcc_cv_target_dl_iterate_phdr) <*-*-solaris2*>: Always set to yes. * 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. [USE_GLD] (LINK_EH_SPEC): Remove TARGET_DL_ITERATE_PHDR guard. * config/i386/i386.cc (USE_HIDDEN_LINKONCE): Remove guard. * varasm.cc (mergeable_string_section): Remove HAVE_LD_ALIGNED_SHF_MERGE handling. (mergeable_constant_section): Likewise. * 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.
Diffstat (limited to 'libgcc/config/sol2')
-rw-r--r--libgcc/config/sol2/gmon.c23
-rw-r--r--libgcc/config/sol2/t-sol26
2 files changed, 0 insertions, 29 deletions
diff --git a/libgcc/config/sol2/gmon.c b/libgcc/config/sol2/gmon.c
index 652fd1e..7b30174 100644
--- a/libgcc/config/sol2/gmon.c
+++ b/libgcc/config/sol2/gmon.c
@@ -316,29 +316,6 @@ internal_mcount (char *selfpc, unsigned short *frompcindex)
/* Only necessary without the Solaris CRTs or a proper gcrt1.o, otherwise
crtpg.o or gcrt1.o take care of that.
- FIXME: What about _init vs. _start on sparc? */
-#ifndef HAVE_SOLARIS_CRTS
- if(!already_setup) {
- extern char etext[];
-
- already_setup = 1;
-
-#if defined __i386__
- /* <sys/vmparam.h> USERSTACK. */
- monstartup ((char *) 0x8048000, etext);
-#elif defined __x86_64__
- monstartup (NULL, etext);
-#elif defined __sparc__
- {
- extern char _start[];
- extern char _init[];
-
- monstartup (_start < _init ? _start : _init, etext);
- }
-#endif
- atexit (_mcleanup);
- }
-#endif /* !HAVE_SOLARIS_CRTS */
/* Check that we are profiling and that we aren't recursively invoked. */
if (profiling) {
goto out;
diff --git a/libgcc/config/sol2/t-sol2 b/libgcc/config/sol2/t-sol2
index 3ac1be3..e7494c5 100644
--- a/libgcc/config/sol2/t-sol2
+++ b/libgcc/config/sol2/t-sol2
@@ -25,9 +25,3 @@ crtpg.o: $(srcdir)/config/sol2/crtpg.c
# gmon build rule
gmon.o: $(srcdir)/config/sol2/gmon.c
$(crt_compile) $(CRTSTUFF_T_CFLAGS_S) -c $<
-
-# Assemble startup files.
-crt1.o: $(srcdir)/config/$(cpu_type)/sol2-c1.S
- $(crt_compile) -c $<
-gcrt1.o: $(srcdir)/config/$(cpu_type)/sol2-c1.S
- $(crt_compile) -c -DGCRT1 $<