From 53d629496f344d07e7ab261d789918cd80308b45 Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Sat, 14 Apr 2012 01:59:06 -0700 Subject: grub-1.99: use gcc-cross for building the target binaries It was using distro gcc to build binaries for target. This got detected on fedora 17 alpha, on which it hit an gcc-4.7 issue. This Fixes Bug: [Yocto #2291] More information in the patch header Thanks to Saul Wold for suggesting to remove the --target parameter from EXTRA_OECONF var. (From OE-Core rev: 26ae0e53411c1ea3afbb2e0c6d9dc2f1b0690751) Signed-off-by: Nitin A Kamble Signed-off-by: Richard Purdie --- .../grub/files/grub-1.99-fpmath-sse-387-fix.patch | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 meta/recipes-bsp/grub/files/grub-1.99-fpmath-sse-387-fix.patch (limited to 'meta/recipes-bsp/grub/files/grub-1.99-fpmath-sse-387-fix.patch') diff --git a/meta/recipes-bsp/grub/files/grub-1.99-fpmath-sse-387-fix.patch b/meta/recipes-bsp/grub/files/grub-1.99-fpmath-sse-387-fix.patch new file mode 100644 index 0000000000..bea594406f --- /dev/null +++ b/meta/recipes-bsp/grub/files/grub-1.99-fpmath-sse-387-fix.patch @@ -0,0 +1,37 @@ +Upstream-Status: pending + +This patch fixes this configure issue for grub when -mfpmath=sse is in the gcc parameters. + +configure:20574: i586-poky-linux-gcc -m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse --sysroot=/usr/local/dev/yocto/grubtest2/build/tmp/sysroots/emenlow -o conftest -O2 -pipe -g -feliminate-unused-debug-types -Wall -W -Wshadow -Wpointer-arith -Wmissing-prototypes -Wundef -Wstrict-prototypes -g -falign-jumps=1 -falign-loops=1 -falign-functions=1 -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -fno-dwarf2-cfi-asm -m32 -fno-stack-protector -mno-stack-arg-probe -Werror -nostdlib -Wl,--defsym,___main=0x8100 -Wall -W -I$(top_srcdir)/include -I$(top_builddir)/include -DGRUB_MACHINE_PCBIOS=1 -DGRUB_MACHINE=I386_PC -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c >&5 +conftest.c:1:0: error: SSE instruction set disabled, using 387 arithmetics [-Werror] +cc1: all warnings being treated as errors + +Signed-Off-By: Nitin A Kamble +2012/04/13 + +Index: grub-1.99/configure.ac +=================================================================== +--- grub-1.99.orig/configure.ac ++++ grub-1.99/configure.ac +@@ -378,7 +378,7 @@ if test "x$target_cpu" = xi386; then + + # Some toolchains enable these features by default, but they need + # registers that aren't set up properly in GRUB. +- TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow" ++ TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -mfpmath=387" + fi + + # By default, GCC 4.4 generates .eh_frame sections containing unwind +Index: grub-1.99/configure +=================================================================== +--- grub-1.99.orig/configure ++++ grub-1.99/configure +@@ -19991,7 +19991,7 @@ $as_echo "$grub_cv_cc_falign_loop" >&6; + + # Some toolchains enable these features by default, but they need + # registers that aren't set up properly in GRUB. +- TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow" ++ TARGET_CFLAGS="$TARGET_CFLAGS -mno-mmx -mno-sse -mno-sse2 -mno-3dnow -mfpmath=387" + fi + + # By default, GCC 4.4 generates .eh_frame sections containing unwind -- cgit v1.2.3-54-g00ecf