[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2] configure: Check -falign-jumps=1 -falign-functions=1 beside -
From: |
Fangrui Song |
Subject: |
[PATCH v2] configure: Check -falign-jumps=1 -falign-functions=1 beside -falign-loops=1 |
Date: |
Mon, 23 Aug 2021 22:53:09 -0700 |
Clang does not support -falign-jumps and only recently gained support
for -falign-loops. Test all the alignment options to avoid passing
unrecognized options to Clang:
clang-14: error: optimization flag '-falign-jumps=1' is not supported
[-Werror,-Wignored-optimization-argument]
When compiled with older Clang, the alignment options are not added, so
just avoid the complexity for each option.
While here, remove checks for the obsoleted -malign-* forms.
GCC has supported the preferred -falign-* forms since 3.2.
Signed-off-by: Fangrui Song <maskray@google.com>
---
configure.ac | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/configure.ac b/configure.ac
index bee28dbeb..8625e6776 100644
--- a/configure.ac
+++ b/configure.ac
@@ -798,24 +798,16 @@ fi
# Force no alignment to save space on i386.
if test "x$target_cpu" = xi386; then
- AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [
- CFLAGS="$TARGET_CFLAGS -falign-loops=1 -Werror"
+ AC_CACHE_CHECK([whether -falign-jumps=1 -falign-loops=1 -falign-functions=1
works],
+ [grub_cv_cc_falign_loop], [
+ CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1
-Werror"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
[grub_cv_cc_falign_loop=yes],
[grub_cv_cc_falign_loop=no])
])
- AC_CACHE_CHECK([whether -malign-loops works], [grub_cv_cc_malign_loop], [
- CFLAGS="$TARGET_CFLAGS -malign-loops=1 -Werror"
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
- [grub_cv_cc_malign_loop=yes],
- [grub_cv_cc_malign_loop=no])
- ])
-
if test "x$grub_cv_cc_falign_loop" = xyes; then
TARGET_CFLAGS="$TARGET_CFLAGS -falign-jumps=1 -falign-loops=1
-falign-functions=1"
- elif test "x$grub_cv_cc_malign_loop" = xyes; then
- TARGET_CFLAGS="$TARGET_CFLAGS -malign-jumps=1 -malign-loops=1
-malign-functions=1"
fi
fi
--
2.33.0.rc2.250.ged5fa647cd-goog
- [PATCH v2] configure: Check -falign-jumps=1 -falign-functions=1 beside -falign-loops=1,
Fangrui Song <=