+2006-12-05 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h (DARWIN_EXTRA_SPECS): New.
+ (STARTFILE_SPEC): Use.
+ (DARWIN_DYLIB1_SPEC): New.
+ (DARWIN_CRT1_SPEC): New.
+ * config/i386/darwin64.h (SUBTARGET_EXTRA_SPECS): Use
+ DARWIN_EXTRA_SPECS.
+ * config/i386/darwin.h: Ditto.
+ * config/rs6000/darwin.h: Ditto.
+
2006-12-05 Daniel Berlin <dberlin@dberlin.org>
* tree-vrp.c (pass_vrp): Remove PROP_smt_usage.
2006-12-04 Aldy Hernandez <aldyh@redhat.com>
- * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+ * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
Change uses of MODIFY_EXPR to GIMPLE_MODIFY_STMT.
(xstormy16_expand_builtin_va_arg): Same.
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
- "%{Zdynamiclib: -ldylib1.o} \
+ "%{Zdynamiclib: %(darwin_dylib1) } \
%{!Zdynamiclib:%{Zbundle:%{!static:-lbundle1.o}} \
%{!Zbundle:%{pg:%{static:-lgcrt0.o} \
%{!static:%{object:-lgcrt0.o} \
%{!pg:%{static:-lcrt0.o} \
%{!static:%{object:-lcrt0.o} \
%{!object:%{preload:-lcrt0.o} \
- %{!preload:-lcrt1.o %(darwin_crt2)}}}}}} \
+ %{!preload: %(darwin_crt1) %(darwin_crt2)}}}}}} \
%{shared-libgcc:%:version-compare(< 10.5 mmacosx-version-min= crt3.o%s)}"
/* The native Darwin linker doesn't necessarily place files in the order
to put anything in ENDFILE_SPEC. */
/* #define ENDFILE_SPEC "" */
+#define DARWIN_EXTRA_SPECS \
+ { "darwin_crt1", DARWIN_CRT1_SPEC }, \
+ { "darwin_dylib1", DARWIN_DYLIB1_SPEC },
+
+#define DARWIN_DYLIB1_SPEC \
+ "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o) \
+ %:version-compare(>= 10.5 mmacosx-version-min= -ldylib1.10.5.o)"
+
+#define DARWIN_CRT1_SPEC \
+ "%:version-compare(!> 10.5 mmacosx-version-min= -lcrt1.o) \
+ %:version-compare(>= 10.5 mmacosx-version-min= -lcrt1.10.5.o)"
+
/* Default Darwin ASM_SPEC, very simple. */
#define ASM_SPEC "-arch %(darwin_arch) \
%{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL}"
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
+ DARWIN_EXTRA_SPECS \
{ "darwin_arch", DARWIN_ARCH_SPEC }, \
{ "darwin_crt2", "" }, \
{ "darwin_subarch", DARWIN_SUBARCH_SPEC },
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
+ DARWIN_EXTRA_SPECS \
{ "darwin_arch", DARWIN_ARCH_SPEC }, \
{ "darwin_crt2", "" }, \
{ "darwin_subarch", DARWIN_SUBARCH_SPEC },
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
+ DARWIN_EXTRA_SPECS \
{ "darwin_arch", DARWIN_ARCH_SPEC }, \
{ "darwin_crt2", DARWIN_CRT2_SPEC }, \
{ "darwin_subarch", DARWIN_SUBARCH_SPEC },