* 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>
|
2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* acinclude.m4: Use -Werror on parameter tests.
|
* acinclude.m4: Use -Werror on parameter tests.
|
||||||
|
|
|
@ -7,16 +7,16 @@ unexport LC_ALL
|
||||||
|
|
||||||
# Platform specific options
|
# Platform specific options
|
||||||
if COND_i386_pc
|
if COND_i386_pc
|
||||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||||
endif
|
endif
|
||||||
if COND_i386_qemu
|
if COND_i386_qemu
|
||||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||||
endif
|
endif
|
||||||
if COND_i386_coreboot
|
if COND_i386_coreboot
|
||||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||||
endif
|
endif
|
||||||
if COND_i386_ieee1275
|
if COND_i386_ieee1275
|
||||||
CFLAGS_PLATFORM += -mrtd -mregparm=3 -freg-struct-return
|
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||||
endif
|
endif
|
||||||
if COND_mips_loongson
|
if COND_mips_loongson
|
||||||
CFLAGS_PLATFORM += -mexplicit-relocs
|
CFLAGS_PLATFORM += -mexplicit-relocs
|
||||||
|
|
11
configure.ac
11
configure.ac
|
@ -499,6 +499,17 @@ if test "x$target_cpu" = xi386; then
|
||||||
fi
|
fi
|
||||||
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
|
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
|
# Some toolchains enable these features by default, but they need
|
||||||
# registers that aren't set up properly in GRUB.
|
# registers that aren't set up properly in GRUB.
|
||||||
|
|
Loading…
Reference in a new issue