diff options
author | Dexuan Cui <dexuan.cui@intel.com> | 2011-06-29 20:32:32 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-29 15:02:13 +0100 |
commit | 909c8ff0f27064fd01853ef92977488e6a097dfe (patch) | |
tree | bfc0fc0b47995a9bd6a554891cb90e2bf2290a97 | |
parent | 549929364cd7d29b50d8a4562c6f640e21a467f1 (diff) | |
download | openembedded-core-909c8ff0f27064fd01853ef92977488e6a097dfe.tar.gz openembedded-core-909c8ff0f27064fd01853ef92977488e6a097dfe.tar.bz2 openembedded-core-909c8ff0f27064fd01853ef92977488e6a097dfe.zip |
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]
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
-rw-r--r-- | meta/recipes-bsp/grub/grub-0.97/no-reorder-functions.patch | 31 | ||||
-rw-r--r-- | meta/recipes-bsp/grub/grub_0.97.bb | 5 |
2 files changed, 34 insertions, 2 deletions
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 <dexuan.cui@intel.com> +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" |