aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/sol2.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/sol2.h')
-rw-r--r--gcc/config/sol2.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 5160e1fda18..f7c77727566 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -159,9 +159,9 @@ along with GCC; see the file COPYING3. If not see
%{!ansi:values-Xa.o%s}"
#if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS)
-#define STARTFILE_CRTBEGIN_SPEC "%{shared:crtbeginS.o%s} \
- %{" PIE_SPEC ":crtbeginS.o%s} \
- %{" NO_PIE_SPEC ":crtbegin.o%s}"
+#define STARTFILE_CRTBEGIN_SPEC "%{static:crtbegin.o%s; \
+ shared|" PIE_SPEC ":crtbeginS.o%s; \
+ :crtbegin.o%s}"
#else
#define STARTFILE_CRTBEGIN_SPEC "crtbegin.o%s"
#endif
@@ -185,8 +185,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; \
@@ -204,9 +204,9 @@ along with GCC; see the file COPYING3. If not see
#endif
#if defined(HAVE_LD_PIE) && defined(HAVE_SOLARIS_CRTS)
-#define ENDFILE_CRTEND_SPEC "%{shared:crtendS.o%s;: \
- %{" PIE_SPEC ":crtendS.o%s} \
- %{" NO_PIE_SPEC ":crtend.o%s}}"
+#define ENDFILE_CRTEND_SPEC "%{static:crtend.o%s; \
+ shared|" PIE_SPEC ":crtendS.o%s; \
+ :crtend.o%s}"
#else
#define ENDFILE_CRTEND_SPEC "crtend.o%s"
#endif