llvmgcc42-2332.4 with changes to test <rdar://problem/7563705>.
llvm-svn: 110749
diff --git a/llvm-gcc-4.2/ChangeLog.apple b/llvm-gcc-4.2/ChangeLog.apple
index c4d6215..716db12 100644
--- a/llvm-gcc-4.2/ChangeLog.apple
+++ b/llvm-gcc-4.2/ChangeLog.apple
@@ -1,3 +1,20 @@
+2010-08-06 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 8277973
+ * Makefile.in (FLAGS_FOR_TARGET): Add $(SYSROOT_CFLAGS_FOR_TARGET).
+ * build_gcc: Configure for powerpc using --with-build-sysroot.
+
+2010-07-29 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 7982386
+ * mode-hdrs: Remove this directory and all its contents.
+ * build_gcc: Stop installing files from more-hdrs.
+
+2010-07-29 Bob Wilson <bob.wilson@apple.com>
+
+ Radar 7982386
+ * more-hdrs/ppc_intrinsics.h: Moved to gcc/config/rs6000.
+
2010-06-28 Jim Grosbach <grosbach@apple.com>
Radar 7449793
diff --git a/llvm-gcc-4.2/Makefile.in b/llvm-gcc-4.2/Makefile.in
index f176d03..b1ea82a 100644
--- a/llvm-gcc-4.2/Makefile.in
+++ b/llvm-gcc-4.2/Makefile.in
@@ -308,7 +308,8 @@
# Programs producing files for the TARGET machine
# -----------------------------------------------
-FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
+# APPLE LOCAL 8277973 Add sysroot flag here.
+FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@ $(SYSROOT_CFLAGS_FOR_TARGET)
AR_FOR_TARGET=@AR_FOR_TARGET@
AS_FOR_TARGET=@AS_FOR_TARGET@
diff --git a/llvm-gcc-4.2/build_gcc b/llvm-gcc-4.2/build_gcc
index 6b79c58..d8a0616 100755
--- a/llvm-gcc-4.2/build_gcc
+++ b/llvm-gcc-4.2/build_gcc
@@ -118,6 +118,10 @@
NON_ARM_CONFIGFLAGS="--with-gxx-include-dir=/usr/include/c++/$LIBSTDCXX_VERSION"
# LLVM LOCAL end
+# Build against the MacOSX10.5 SDK for PowerPC.
+PPC_SYSROOT=/Developer/SDKs/MacOSX10.5.sdk
+PPC_CONFIGFLAGS="$NON_ARM_CONFIGFLAGS --with-build-sysroot=\"$PPC_SYSROOT\""
+
DARWIN_VERS=`uname -r | sed 's/\..*//'`
echo DARWIN_VERS = $DARWIN_VERS
@@ -367,6 +371,8 @@
AS_FOR_TARGET=$DIR/bin/${t}-apple-darwin$DARWIN_VERS-as \
LD_FOR_TARGET=$DIR/bin/${t}-apple-darwin$DARWIN_VERS-ld \
$SRC_DIR/configure $T_CONFIGFLAGS $ARM_CONFIGFLAGS || exit 1
+ elif [ $t = 'powerpc' ] ; then
+ $SRC_DIR/configure $T_CONFIGFLAGS $PPC_CONFIGFLAGS || exit 1
else
$SRC_DIR/configure $T_CONFIGFLAGS $NON_ARM_CONFIGFLAGS || exit 1
fi
@@ -428,6 +434,8 @@
--target=$t-apple-darwin$DARWIN_VERS"
if [ $t = 'arm' ] && [ $h != 'arm' ] ; then
T_CONFIGFLAGS="$T_CONFIGFLAGS $ARM_CONFIGFLAGS"
+ elif [ $t = 'powerpc' ] && [ $h != 'powerpc' ] ; then
+ T_CONFIGFLAGS="$T_CONFIGFLAGS $PPC_CONFIGFLAGS"
else
T_CONFIGFLAGS="$T_CONFIGFLAGS $NON_ARM_CONFIGFLAGS"
fi
diff --git a/llvm-gcc-4.2/gcc/config/darwin.c b/llvm-gcc-4.2/gcc/config/darwin.c
index d11d227..03c0a30 100644
--- a/llvm-gcc-4.2/gcc/config/darwin.c
+++ b/llvm-gcc-4.2/gcc/config/darwin.c
@@ -2713,16 +2713,9 @@
void
darwin_override_options (void)
{
- /* APPLE LOCAL begin for iframework for 4.3 4094959 */
- /* Remove this: */
-#if 0
- if (flag_apple_kext && strcmp (lang_hooks.name, "GNU C++") != 0)
- {
- warning (0, "command line option %<-fapple-kext%> is only valid for C++");
- flag_apple_kext = 0;
- }
-#endif
- /* APPLE LOCAL end for iframework for 4.3 4094959 */
+ /* LLVM LOCAL begin 7563705 */
+ /* Removed. */
+ /* LLVM LOCAL begin 7563705 */
if (flag_mkernel || flag_apple_kext)
{
/* -mkernel implies -fapple-kext for C++ */
@@ -2742,6 +2735,14 @@
! TARGET_SUPPORTS_KEXTABI1)
flag_apple_kext = 2;
/* APPLE LOCAL end kext v2 */
+ /* LLVM LOCAL begin 7563705 */
+#ifdef ENABLE_LLVM
+ if (flag_apple_kext
+ && strverscmp (darwin_macosx_version_min, "10.6") > 0
+ && ! TARGET_64BIT)
+ target_flags |= MASK_MACHO_DYNAMIC_NO_PIC;
+#endif
+ /* LLVM LOCAL end 7563705 */
}
/* APPLE LOCAL begin axe stubs 5571540 */
/* APPLE LOCAL begin ARM 5683689 */
diff --git a/llvm-gcc-4.2/gcc/config/darwin.h b/llvm-gcc-4.2/gcc/config/darwin.h
index 5049729..215d7b6 100644
--- a/llvm-gcc-4.2/gcc/config/darwin.h
+++ b/llvm-gcc-4.2/gcc/config/darwin.h
@@ -242,6 +242,17 @@
darwin_init_cfstring_builtins (); \
} while(0)
+/* LLVM LOCAL begin 7563705 */
+#ifdef ENABLE_LLVM
+#define ALLOW_FAPPLE_KEXT_FLAG \
+ (strcmp (lang_hooks.name, "GNU C++") == 0 || \
+ (strcmp (lang_hooks.name, "GNU C") == 0 && \
+ strverscmp (darwin_macosx_version_min, "10.6") > 0))
+#else
+#define ALLOW_FAPPLE_KEXT_FLAG false
+#endif
+/* LLVM LOCAL end 7563705 */
+
#undef TARGET_EXPAND_TREE_BUILTIN
#define TARGET_EXPAND_TREE_BUILTIN darwin_expand_tree_builtin
#undef TARGET_CONSTRUCT_OBJC_STRING
@@ -598,10 +609,16 @@
/* Default Darwin ASM_SPEC, very simple. */
/* APPLE LOCAL begin kext weak_import 5935650 */
/* APPLE LOCAL begin radar 4161346 */
+/* LLVM LOCAL begin 7563705 */
#define ASM_SPEC "-arch %(darwin_arch) \
- %{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL} \
- %{!Zforce_cpusubtype_ALL:%{faltivec:-force_cpusubtype_ALL}} \
- %{mkernel|static|fapple-kext:%{!Zdynamic:-static}}"
+ %{Zforce_cpusubtype_ALL:-force_cpusubtype_ALL} \
+ %{!Zforce_cpusubtype_ALL:%{faltivec:-force_cpusubtype_ALL}} \
+ %{!m64: \
+ %{!fapple-kext:%{mkernel|static:-static}} \
+ %{fapple-kext: \
+ %:version-compare(>= 10.7 mmacosx-version-min= -dynamic) \
+ %:version-compare(< 10.7 mmacosx-version-min= -static)}}"
+/* LLVM LOCAL end 7563705 */
/* APPLE LOCAL end radar 4161346 */
/* APPLE LOCAL end kext weak_import 5935650 */
/* APPLE LOCAL begin mainline 4.3 2006-10-31 4370143 */
diff --git a/llvm-gcc-4.2/gcc/config/i386/darwin.h b/llvm-gcc-4.2/gcc/config/i386/darwin.h
index 2202dcf..fc27508 100644
--- a/llvm-gcc-4.2/gcc/config/i386/darwin.h
+++ b/llvm-gcc-4.2/gcc/config/i386/darwin.h
@@ -109,8 +109,14 @@
/* APPLE LOCAL begin mainline */
#undef ASM_SPEC
/* APPLE LOCAL begin kext weak_import 5935650 */
+/* LLVM LOCAL begin 7563705 */
#define ASM_SPEC "-arch %(darwin_arch) -force_cpusubtype_ALL \
- %{mkernel|static|fapple-kext:%{!m64:-static}}"
+ %{!m64: \
+ %{!fapple-kext:%{mkernel|static:-static}} \
+ %{fapple-kext: \
+ %:version-compare(>= 10.7 mmacosx-version-min= -dynamic) \
+ %:version-compare(< 10.7 mmacosx-version-min= -static)}}"
+/* LLVM LOCAL end 7563705 */
/* APPLE LOCAL end kext weak_import 5935650 */
#define DARWIN_ARCH_SPEC "%{m64:x86_64;:i386}"
diff --git a/llvm-gcc-4.2/gcc/config/i386/darwin64.h b/llvm-gcc-4.2/gcc/config/i386/darwin64.h
index e630a70..d4f84d6 100644
--- a/llvm-gcc-4.2/gcc/config/i386/darwin64.h
+++ b/llvm-gcc-4.2/gcc/config/i386/darwin64.h
@@ -30,8 +30,14 @@
/* APPLE LOCAL begin kext 6400713 */
#undef ASM_SPEC
-#define ASM_SPEC "-arch %(darwin_arch) -force_cpusubtype_ALL \
- %{mkernel|static|fapple-kext:%{m32:-static}}"
+/* LLVM LOCAL begin 7563705 */
+#define ASM_SPEC "-arch %(darwin_arch) -force_cpusubtype_ALL \
+ %{!m64: \
+ %{!fapple-kext:%{mkernel|static:-static}} \
+ %{fapple-kext: \
+ %:version-compare(>= 10.7 mmacosx-version-min= -dynamic) \
+ %:version-compare(< 10.7 mmacosx-version-min= -static)}}"
+/* LLVM LOCAL end 7563705 */
/* APPLE LOCAL end kext 6400713 */
#undef SUBTARGET_EXTRA_SPECS
diff --git a/llvm-gcc-4.2/gcc/config/rs6000/t-darwin b/llvm-gcc-4.2/gcc/config/rs6000/t-darwin
index 4d0484e..a197bbd 100644
--- a/llvm-gcc-4.2/gcc/config/rs6000/t-darwin
+++ b/llvm-gcc-4.2/gcc/config/rs6000/t-darwin
@@ -27,7 +27,7 @@
# APPLE LOCAL 5901604 6499452
# LLVM LOCAL begin 8260893
-MULTILIB_EXTRA_OPTS = isysroot/Developer/SDKs/MacOSX10.6.sdk mmacosx-version-min=10.6
+MULTILIB_EXTRA_OPTS = isysroot/Developer/SDKs/MacOSX10.5.sdk mmacosx-version-min=10.5
# LLVM LOCAL end
# Export the _xlq* symbols from darwin-ldouble.c.
diff --git a/llvm-gcc-4.2/gcc/opts.c b/llvm-gcc-4.2/gcc/opts.c
index b2373cf..2138ac6 100644
--- a/llvm-gcc-4.2/gcc/opts.c
+++ b/llvm-gcc-4.2/gcc/opts.c
@@ -282,7 +282,14 @@
/* APPLE LOCAL begin iframework for 4.3 4094959 */
else if ((option->flags & CL_TARGET)
&& (option->flags & CL_LANG_ALL)
- && !(option->flags & lang_mask))
+ /* LLVM LOCAL begin 7563705 */
+ && !(option->flags & lang_mask)
+#ifdef ALLOW_FAPPLE_KEXT_FLAG
+ && (strcmp (*argv, "-fapple-kext") != 0 ||
+ ! ALLOW_FAPPLE_KEXT_FLAG)
+#endif
+ )
+ /* LLVM LOCAL end 7563705 */
{
/* Complain for target flag language mismatches if any languages
are specified. */