Use -arm-strict-align for kernel and kext code.
--- Merging r114942 into '.':
U    gcc/config/arm/arm.h

llvm-svn: 114945
diff --git a/llvm-gcc-4.2/gcc/config/arm/arm.h b/llvm-gcc-4.2/gcc/config/arm/arm.h
index 18ebd52..cea7e29 100644
--- a/llvm-gcc-4.2/gcc/config/arm/arm.h
+++ b/llvm-gcc-4.2/gcc/config/arm/arm.h
@@ -3553,8 +3553,10 @@
     argvec.push_back("-soft-float");                   \
   if (TARGET_HARD_FLOAT_ABI)                           \
     argvec.push_back("-float-abi=hard");               \
-  if (flag_mkernel || flag_apple_kext) \
-    argvec.push_back("-arm-long-calls");
+  if (flag_mkernel || flag_apple_kext) {               \
+    argvec.push_back("-arm-long-calls");               \
+    argvec.push_back("-arm-strict-align");             \
+  }
 
 /* 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