From 776da950e880fbbc490b0c810565dbcbc9e539cf Mon Sep 17 00:00:00 2001 From: Dexuan Cui Date: Wed, 29 Jun 2011 20:32:32 +0800 Subject: grub: add -fno-reorder-functions into STAGE2_COMPILE This is used to work around a gcc-4.6's bug about the option. [YOCTO #1099] (From OE-Core rev: 909c8ff0f27064fd01853ef92977488e6a097dfe) Signed-off-by: Dexuan Cui Signed-off-by: Richard Purdie --- .../grub/grub-0.97/no-reorder-functions.patch | 31 ++++++++++++++++++++++ meta/recipes-bsp/grub/grub_0.97.bb | 5 ++-- 2 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch (limited to 'meta/recipes-bsp/grub') diff --git a/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch b/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch new file mode 100644 index 0000000000..70037e47c7 --- /dev/null +++ b/meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch @@ -0,0 +1,31 @@ +Upstream-Status: Inappropriate [disable feature] + +After the commit "tcmode-default: switch to gcc 4.6.0 for x86, x86-64 & arm", +we got bug 1099 (http://bugzilla.yoctoproject.org/show_bug.cgi?id=1099): + +Running "install --stage2=/ssd/boot/grub/stage2 /boot/grub/stage1(hd0) + /boot/grub/stage2 p /boot/grub/menu list" failed +Error 6: Mismatched or corrupt version of stage1/stage2 + +This turned out to be a gcc's bug. See +https://bugs.gentoo.org/show_bug.cgi?id=360513 +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39333 + +Upstream gcc seems uninterested in the bug, so at present we can disable the +option as a workaround. Thanks Ryan Hill for the investigation and the +workaround patch. + +Dexuan Cui +Wed Jun 29 20:21:39 CST 2011 + +--- grub-0.97/stage2/Makefile.am.orig ++++ grub-0.97/stage2/Makefile.am +@@ -79,7 +79,7 @@ + HERCULES_FLAGS = + endif + +-STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ ++STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-reorder-functions -fno-builtin -nostdinc \ + $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) + + STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 diff --git a/meta/recipes-bsp/grub/grub_0.97.bb b/meta/recipes-bsp/grub/grub_0.97.bb index 131d942cc7..82b065a7b8 100644 --- a/meta/recipes-bsp/grub/grub_0.97.bb +++ b/meta/recipes-bsp/grub/grub_0.97.bb @@ -11,10 +11,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b \ file://grub/main.c;beginline=3;endline=9;md5=22a5f28d2130fff9f2a17ed54be90ed6" RDEPENDS_${PN} = "diffutils" -PR = "r3" +PR = "r4" SRC_URI = "ftp://alpha.gnu.org/gnu/grub/grub-${PV}.tar.gz; \ - file://autohell.patch;apply=yes " + file://no-reorder-functions.patch \ + file://autohell.patch " SRC_URI[md5sum] = "cd3f3eb54446be6003156158d51f4884" SRC_URI[sha256sum] = "4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b" -- cgit v1.2.3-54-g00ecf