You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.4 KiB
41 lines
1.4 KiB
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 |
|
From: Peter Jones <pjones@redhat.com> |
|
Date: Thu, 2 Aug 2018 10:56:38 -0400 |
|
Subject: [PATCH] Disable non-wordsize allocations on arm |
|
|
|
Signed-off-by: Peter Jones <pjones@redhat.com> |
|
--- |
|
configure.ac | 20 ++++++++++++++++++++ |
|
1 file changed, 20 insertions(+) |
|
|
|
diff --git a/configure.ac b/configure.ac |
|
index 3405348178a..152e7dba652 100644 |
|
--- a/configure.ac |
|
+++ b/configure.ac |
|
@@ -1288,6 +1288,26 @@ if test "x$target_cpu" = xarm; then |
|
done |
|
]) |
|
|
|
+ AC_CACHE_CHECK([for options to disable movt and movw relocations], |
|
+ grub_cv_target_cc_mword_relocations, |
|
+ [grub_cv_target_cc_mword_relocations=no |
|
+ for cand in "-mword-relocations" ; do |
|
+ if test x"$grub_cv_target_cc_mword_relocations" != xno ; then |
|
+ break |
|
+ fi |
|
+ CFLAGS="$TARGET_CFLAGS $cand -Werror" |
|
+ CPPFLAGS="$TARGET_CPPFLAGS" |
|
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], |
|
+ [grub_cv_target_cc_mword_relocations="$cand"], |
|
+ []) |
|
+ done |
|
+ ]) |
|
+ if test x"$grub_cv_target_cc_mword_relocations" = xno ; then |
|
+ AC_MSG_ERROR(["your compiler doesn't support disabling movw/movt relocations"]) |
|
+ else |
|
+ TARGET_CFLAGS="$TARGET_CFLAGS $grub_cv_target_cc_mword_relocations" |
|
+ fi |
|
+ |
|
if test x"$grub_cv_target_cc_mno_movt" != xno ; then |
|
# A trick so that clang doesn't see it on link stage |
|
TARGET_CPPFLAGS="$TARGET_CPPFLAGS $grub_cv_target_cc_mno_movt"
|
|
|