(LINK_SPEC): Pass -shared through; don't pass -init __main if -shared.
authorJason Merrill <merrill@gnu.org>
Thu, 20 Oct 1994 21:52:05 +0000 (21:52 +0000)
committerJason Merrill <merrill@gnu.org>
Thu, 20 Oct 1994 21:52:05 +0000 (21:52 +0000)
(LINK_SPEC): Pass -shared through; don't
        pass -init __main if -shared.
        (STARTFILE_SPEC): Wrap startfiles in %{!shared:}.
        (INIT_NAME_FORMAT): Define.
        (FINI_NAME_FORMAT): Define.

From-SVN: r8326

gcc/config/alpha/alpha.h

index 1214c1a24bacfe01dd01d4e0dbc37986b1239dcd..c7d20f6909c3b39995e343bc4eae5c91c0ca78c2 100644 (file)
@@ -48,14 +48,15 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 
 #define LIB_SPEC "%{p:-lprof1} %{pg:-lprof2} -lc"
 
-/* Pass "-G 8" to ld because Alpha's CC does.  Pass -O3 if we are optimizing,
-   -O1 if we are not.  Pass -non_shared or -call_shared as appropriate.  */
+/* Pass "-G 8" to ld because Alpha's CC does.  Pass -O3 if we are
+   optimizing, -O1 if we are not.  Pass -shared, -non_shared or
+   -call_shared as appropriate.  */
 #define LINK_SPEC  \
-  "-G 8 %{O*:-O3} %{!O*:-O1} %{static:-non_shared} %{!static:-call_shared} \
-   -init __main"
+  "-G 8 %{O*:-O3} %{!O*:-O1} %{!shared:-init __main} %{static:-non_shared} \
+   %{!static:%{shared:-shared} %{!shared:-call_shared}}"
 
 #define STARTFILE_SPEC  \
-  "%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}"
+  "%{!shared:%{pg:mcrt0.o%s}%{!pg:%{p:mcrt0.o%s}%{!p:crt0.o%s}}}"
 
 /* Print subsidiary information on the compiler version in use.  */
 #define TARGET_VERSION
@@ -2021,3 +2022,5 @@ do {                                                      \
 
 /* The linker will stick __main into the .init section.  */
 #define HAS_INIT_SECTION
+#define INIT_NAME_FORMAT "__init_%s"
+#define FINI_NAME_FORMAT "__fini_%s"