From 3d23afdc7a7f79ebdb324fd97d45420ca62dd869 Mon Sep 17 00:00:00 2001 From: Nitin A Kamble Date: Sat, 14 Apr 2012 01:59:07 -0700 Subject: grub-efi-native, grub: fix build with gcc 4.7 This fixes bug [YOCTO #2293] These build failure caused by gcc4.7 is fixed with a backport of a grub-1.99 patch from fedora 17 alpha plus two more new patches | gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_EFI=1 -DGRUB_MACHINE=I386_EFI -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include -DGRUB_FILE=\"commands/efi/acpi.c\" -I. -I. -I.. -I.. -I../include -I../include -isystem/home/nitin/builds/build0/tmp/sysroots/x86_64-linux/usr/include -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 -Wno-trampolines -ffreestanding -isystem/home/nitin/builds/build0/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o commands/efi/acpi_module-acpi.o `test -f 'commands/efi/acpi.c' || echo './'`commands/efi/acpi.c | gcc: error: unrecognized command line option '-melf_i386' | make[3]: *** [trig.module] Error 1 | make[3]: Entering directory `/home/nitin/builds/build0/tmp/work/x86_64-linux/grub-efi-i586-native-1.99-r7/grub-1.99/grub-core' | gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_EFI=1 -DGRUB_MACHINE=I386_EFI -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include -DGRUB_FILE=\"fs/btrfs.c\" -I. -I. -I.. -I.. -I../include -I../include -isystem/home/nitin/builds/build0/tmp/sysroots/x86_64-linux/usr/include -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 -Wno-trampolines -ffreestanding -isystem/home/nitin/builds/build0/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fs/btrfs_module-btrfs.o `test -f 'fs/btrfs.c' || echo './'`fs/btrfs.c | fs/btrfs.c: In function 'grub_btrfs_read_logical': | fs/btrfs.c:791:5: error: 'err' may be used uninitialized in this function [-Werror=maybe-uninitialized] | fs/btrfs.c:592:18: note: 'err' was declared here | cc1: all warnings being treated as errors | make[3]: *** [fs/btrfs_module-btrfs.o] Error 1 | gcc -DHAVE_CONFIG_H -I. -I.. -Wall -W -I../include -I../include -DGRUB_MACHINE_EFI=1 -DGRUB_MACHINE=I386_EFI -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.7.0/include -DGRUB_FILE=\"fs/zfs/zfs.c\" -I. -I. -I.. -I.. -I../include -I../include -isystem/home/nitin/builds/build0/tmp/sysroots/x86_64-linux/usr/include -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 -Wno-trampolines -ffreestanding -isystem/home/nitin/builds/build0/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe -c -o fs/zfs/zfs_module-zfs.o `test -f 'fs/zfs/zfs.c' || echo './'`fs/zfs/zfs.c | fs/zfs/zfs.c: In function 'get_filesystem_dnode': | fs/zfs/zfs.c:1449:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:1449:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c: In function 'make_mdn': | fs/zfs/zfs.c:1478:3: error: dereferencing type-punned pointer will break strict-alERROR: Function failed: do_compile (see /home/nitin/builds/build0/tmp/work/x86_64-linux/grub-efi-i586-native-1.99-r7/temp/log.do_compile.9293 for further information) | iasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c: In function 'dnode_get_fullpath': | fs/zfs/zfs.c:1554:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:1554:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:1571:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:1571:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c: In function 'grub_zfs_open': | fs/zfs/zfs.c:2234:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2234:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c: In function 'fill_fs_info': | fs/zfs/zfs.c:2362:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2362:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2395:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2395:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c: In function 'iterate_zap': | fs/zfs/zfs.c:2420:5: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2420:5: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c: In function 'grub_zfs_dir': | fs/zfs/zfs.c:2483:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2483:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2484:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2484:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2502:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | fs/zfs/zfs.c:2502:7: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing] | cc1: all warnings being treated as errors | make[3]: *** [fs/zfs/zfs_module-zfs.o] Error 1 (From OE-Core rev: b0f6dc60c926c2a653485e0016fbdc2ac5eb0cb4) Signed-off-by: Nitin A Kamble Signed-off-by: Richard Purdie --- .../grub/files/grub-1.99-gcc-4.7.0.patch | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 meta/recipes-bsp/grub/files/grub-1.99-gcc-4.7.0.patch (limited to 'meta/recipes-bsp/grub/files/grub-1.99-gcc-4.7.0.patch') diff --git a/meta/recipes-bsp/grub/files/grub-1.99-gcc-4.7.0.patch b/meta/recipes-bsp/grub/files/grub-1.99-gcc-4.7.0.patch new file mode 100644 index 0000000000..545954a307 --- /dev/null +++ b/meta/recipes-bsp/grub/files/grub-1.99-gcc-4.7.0.patch @@ -0,0 +1,34 @@ +Upstream-Status: backport from fedora + +2012/04/13 +Signed-Off-by: Nitin A Kamble + +From b0f4ef523b69a497d69820c09bbb07484a6b09cc Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Wed, 7 Mar 2012 09:53:50 -0500 +Subject: [PATCH] Fix gcc error that kills build. + +--- + conf/Makefile.common | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/conf/Makefile.common b/conf/Makefile.common +index 2040a2e..b3ba765 100644 +--- a/conf/Makefile.common ++++ b/conf/Makefile.common +@@ -11,10 +11,10 @@ if COND_i386_pc + CFLAGS_PLATFORM += -mrtd -mregparm=3 + endif + if COND_i386_efi +- LDFLAGS_PLATFORM = -melf_i386 ++ LDFLAGS_PLATFORM = -m32 + endif + if COND_x86_64_efi +- LDFLAGS_PLATFORM = -melf_x86_64 ++ LDFLAGS_PLATFORM = -m64 + endif + if COND_i386_qemu + CFLAGS_PLATFORM += -mrtd -mregparm=3 +-- +1.7.7.6 + -- cgit v1.2.3-54-g00ecf