]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Don't add -mlong-calls when compiling with clang.
authorVladimir Serbinenko <phcoder@gmail.com>
Fri, 6 Dec 2013 10:58:17 +0000 (11:58 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Fri, 6 Dec 2013 10:58:17 +0000 (11:58 +0100)
ChangeLog
conf/Makefile.common
configure.ac

index 1f876c34883891b2d5f7d607dc9782cc9463c611..203038e1f4e61be4f80e23ba3e63604d79ec913b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Don't add -mlong-calls when compiling with clang.
+
 2013-12-06  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * configure.ac: Fix a typo.
index 811573f39c22b30b4c29d30759385f87344f70a8..4ec2b811e5735a5d1e22baa42ae3f07457a7062b 100644 (file)
@@ -11,7 +11,7 @@ if COND_sparc64_ieee1275
   LDFLAGS_PLATFORM = -Wl,-melf64_sparc -mno-relax
 endif
 if COND_arm
-  CFLAGS_PLATFORM += -mthumb-interwork -mlong-calls
+  CFLAGS_PLATFORM += -mthumb-interwork
   CCASFLAGS_PLATFORM = -mthumb-interwork
   LDFLAGS_PLATFORM = -Wl,--wrap=__clear_cache
 endif
index 0cd66605195bce70d2c6a12cee22bed03fb1f580..d13cd3d6b474b617bfb35aed9dfc7842851619b4 100644 (file)
@@ -848,6 +848,18 @@ if test "$target_cpu"-"$platform" = x86_64-efi; then
   TARGET_CFLAGS="$TARGET_CFLAGS -mno-red-zone"
 fi
 
+if test "x$target_cpu" = xarm; then
+  AC_CACHE_CHECK([whether option -mlong-calls works], grub_cv_cc_mlong_calls, [
+    CFLAGS="$TARGET_CFLAGS -mlong-calls -Werror"
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
+                     [grub_cv_cc_mlong_calls=yes],
+                     [grub_cv_cc_mlong_calls=no])
+  ])
+  if test "x$grub_cv_cc_mlong_calls" = xyes; then
+    TARGET_CFLAGS="$TARGET_CFLAGS -mlong-calls"
+  fi
+fi
+
 #
 # Compiler features.
 #