merge 101304
llvm-svn: 101307
diff --git a/llvm-gcc-4.2/gcc/config/arm/arm.h b/llvm-gcc-4.2/gcc/config/arm/arm.h
index 8689153..39cee4f 100644
--- a/llvm-gcc-4.2/gcc/config/arm/arm.h
+++ b/llvm-gcc-4.2/gcc/config/arm/arm.h
@@ -3525,7 +3525,9 @@
if (TARGET_SOFT_FLOAT) \
argvec.push_back("-soft-float"); \
if (TARGET_HARD_FLOAT_ABI) \
- argvec.push_back("-float-abi=hard");
+ argvec.push_back("-float-abi=hard"); \
+ if (flag_mkernel || flag_apple_kext) \
+ argvec.push_back("-arm-long-calls");
/* Doing struct copy by partial-word loads and stores is not a good idea on ARM. */
#define TARGET_LLVM_MIN_BYTES_COPY_BY_MEMCPY 4