aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/darwin.h31
-rw-r--r--gcc/config/darwin9.h5
-rw-r--r--gcc/config/t-slibgcc-darwin2
3 files changed, 17 insertions, 21 deletions
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index c0f9c86..623ebd8 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -230,9 +230,8 @@ extern GTY(()) int darwin_ms_struct;
linkers, and for positional arguments like libraries. */
#define LINK_COMMAND_SPEC "\
%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
- %{!Zdynamiclib:%(linker)}%{Zdynamiclib:/usr/bin/libtool} \
- %l %X %{d} %{s} %{t} %{Z} \
- %{!Zdynamiclib:%{A} %{e*} %{m} %{N} %{n} %{r} %{u*} %{x} %{z}} \
+ %(linker) %l %X %{d} %{s} %{t} %{Z} \
+ %{A} %{e*} %{m} %{r} %{x} \
%{o*}%{!o:-o a.out} \
%{!A:%{!nostdlib:%{!nostartfiles:%S}}} \
%{L*} %{fopenmp:%:include(libgomp.spec)%(link_gomp)} \
@@ -251,12 +250,9 @@ extern GTY(()) int darwin_ms_struct;
#endif
/* Please keep the random linker options in alphabetical order (modulo
- 'Z' and 'no' prefixes). Options that can only go to one of libtool
- or ld must be listed twice, under both !Zdynamiclib and
- Zdynamiclib, with one of the cases reporting an error. */
-/* Note that options taking arguments may appear multiple times on a
- command line with different arguments each time, so put a * after
- their names so all of them get passed. */
+ 'Z' and 'no' prefixes). Note that options taking arguments may appear
+ multiple times on a command line with different arguments each time,
+ so put a * after their names so all of them get passed. */
#define LINK_SPEC \
"%{static}%{!static:-dynamic} \
%{fgnu-runtime:%:replace-outfile(-lobjc -lobjc-gnu)}\
@@ -274,20 +270,20 @@ extern GTY(()) int darwin_ms_struct;
%{keep_private_externs} \
%{private_bundle} \
} \
- %{Zdynamiclib: \
+ %{Zdynamiclib: -dylib \
%{Zbundle:%e-bundle not allowed with -dynamiclib} \
%{Zbundle_loader*:%e-bundle_loader not allowed with -dynamiclib} \
%{client_name*:%e-client_name not allowed with -dynamiclib} \
- %{compatibility_version*} \
- %{current_version*} \
- %{Zforce_cpusubtype_ALL:-arch_only %(darwin_arch)} \
- %{!Zforce_cpusubtype_ALL: -arch_only %(darwin_subarch)} \
+ %{compatibility_version*:-dylib_compatibility_version %*} \
+ %{current_version*:-dylib_current_version %*} \
+ %{Zforce_cpusubtype_ALL:-arch %(darwin_arch)} \
+ %{!Zforce_cpusubtype_ALL: -arch %(darwin_subarch)} \
%{Zforce_flat_namespace:%e-force_flat_namespace not allowed with -dynamiclib} \
- %{Zinstall_name*:-install_name %*} \
+ %{Zinstall_name*:-dylib_install_name %*} \
%{keep_private_externs:%e-keep_private_externs not allowed with -dynamiclib} \
%{private_bundle:%e-private_bundle not allowed with -dynamiclib} \
} \
- %{Zall_load:-all_load}%{Zdynamiclib:%{!Zall_load:-noall_load}} \
+ %{Zall_load:-all_load} \
%{Zallowable_client*:-allowable_client %*} \
%{Zbind_at_load:-bind_at_load} \
%{Zarch_errors_fatal:-arch_errors_fatal} \
@@ -371,7 +367,8 @@ extern GTY(()) int darwin_ms_struct;
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
- "%{!Zdynamiclib:%{Zbundle:%{!static:-lbundle1.o}} \
+ "%{Zdynamiclib: -ldylib1.o} \
+ %{!Zdynamiclib:%{Zbundle:%{!static:-lbundle1.o}} \
%{!Zbundle:%{pg:%{static:-lgcrt0.o} \
%{!static:%{object:-lgcrt0.o} \
%{!object:%{preload:-lgcrt0.o} \
diff --git a/gcc/config/darwin9.h b/gcc/config/darwin9.h
index ef9890a..58e9806 100644
--- a/gcc/config/darwin9.h
+++ b/gcc/config/darwin9.h
@@ -6,9 +6,8 @@
#undef LINK_COMMAND_SPEC
#define LINK_COMMAND_SPEC "\
%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
- %{!Zdynamiclib:%(linker)}%{Zdynamiclib:/usr/bin/libtool} \
- %l %X %{d} %{s} %{t} %{Z} \
- %{!Zdynamiclib:%{A} %{e*} %{m} %{N} %{n} %{r} %{u*} %{x} %{z}} \
+ %(linker) %l %X %{d} %{s} %{t} %{Z} \
+ %{A} %{e*} %{m} %{r} %{x} \
%{o*}%{!o:-o a.out} \
%{!A:%{!nostdlib:%{!nostartfiles:%S}}} \
%{L*} %{fopenmp:%:include(libgomp.spec)%(link_gomp)} \
diff --git a/gcc/config/t-slibgcc-darwin b/gcc/config/t-slibgcc-darwin
index 0c6eded..f41acae 100644
--- a/gcc/config/t-slibgcc-darwin
+++ b/gcc/config/t-slibgcc-darwin
@@ -16,7 +16,7 @@ SHLIB_LC = -lc
# Note that this version is used for the loader, not the linker; the linker
# uses the stub versions named by $(LIBGCC).
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -dynamiclib -nodefaultlibs \
- -Wl,-install_name,$(slibdir)/$(SHLIB_INSTALL_NAME) \
+ -install_name $(slibdir)/$(SHLIB_INSTALL_NAME) \
-single_module -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp \
-Wl,-exported_symbols_list,$(SHLIB_MAP) \
$(SHLIB_VERSTRING) \