Allow compilation without thumb-interwork as long as no thumb is
involved or only thumb2 is used.
This commit is contained in:
parent
063f2a04d1
commit
a29f317af1
4 changed files with 29 additions and 2 deletions
23
configure.ac
23
configure.ac
|
@ -871,6 +871,29 @@ if test "x$target_cpu" = xarm; then
|
|||
if test "x$grub_cv_cc_mlong_calls" = xyes; then
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -mlong-calls"
|
||||
fi
|
||||
AC_CACHE_CHECK([whether option -mthumb-interwork works], grub_cv_cc_mthumb_interwork, [
|
||||
CFLAGS="$TARGET_CFLAGS -mthumb-interwork -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||
[grub_cv_cc_mthumb_interwork=yes],
|
||||
[grub_cv_cc_mthumb_interwork=no])
|
||||
])
|
||||
if test "x$grub_cv_cc_mthumb_interwork" = xyes; then
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -mthumb-interwork"
|
||||
elif test "x$grub_cv_cc_target_clang" = xno ; then
|
||||
AC_MSG_ERROR([your compiler doesn't support -mthumb-interwork])
|
||||
else
|
||||
CFLAGS="$TARGET_CFLAGS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
|
||||
#if defined (__thumb__) && !defined (__thumb2__)
|
||||
#error thumb without interworking
|
||||
#endif
|
||||
]])],
|
||||
[no_interwork_ok=yes],
|
||||
[no_interwork_ok=no])
|
||||
if test x$no_interwork_ok = xno ; then
|
||||
AC_MSG_ERROR([attempt to compile to thumb with no thumb interwork])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue