* configure.ac: Add -freg-struct-return on all platforms that
support it.
This commit is contained in:
parent
b35ec29927
commit
cdc17f60dc
3 changed files with 20 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* configure.ac: Add -freg-struct-return on all platforms that
|
||||
support it.
|
||||
|
||||
2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* acinclude.m4: Use -Werror on parameter tests.
|
||||
|
|
|
@ -7,16 +7,16 @@ unexport LC_ALL
|
|||
|
||||
# Platform specific options
|
||||
if COND_i386_pc
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_i386_qemu
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_i386_coreboot
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_i386_ieee1275
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_mips_loongson
|
||||
CFLAGS_PLATFORM += -mexplicit-relocs
|
||||
|
|
11
configure.ac
11
configure.ac
|
@ -499,6 +499,17 @@ if test "x$target_cpu" = xi386; then
|
|||
fi
|
||||
fi
|
||||
|
||||
AC_CACHE_CHECK([whether -freg-struct-return works], [grub_cv_cc_freg_struct_return], [
|
||||
CFLAGS="$TARGET_CFLAGS -freg-struct-return -Werror"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||
[grub_cv_cc_freg_struct_return=yes],
|
||||
[grub_cv_cc_freg_struct_return=no])
|
||||
])
|
||||
|
||||
if test "x$grub_cv_cc_freg_struct_return" = xyes; then
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -freg-struct-return"
|
||||
fi
|
||||
|
||||
if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$platform" != xemu; then
|
||||
# Some toolchains enable these features by default, but they need
|
||||
# registers that aren't set up properly in GRUB.
|
||||
|
|
Loading…
Reference in a new issue