summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-09-09 08:26:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-23 09:53:01 +0100
commit05b9a0c6281bf9d356ec836acb003ac80b9726a3 (patch)
tree6454b3c952335f122d440d751b7b36f28fa8ff20
parentcdfd96eb92415a1b3eaf603ffc4a35978985ade4 (diff)
downloadpoky-05b9a0c6281bf9d356ec836acb003ac80b9726a3.tar.gz
gnu-efi, syslinux: Support gcc < 4.7
This helps compiling the code with older gcc especially on older build hosts, additionally clang advertizes itself as gcc 4.2.1 so it helps compiling dependent modues using clang as well (From OE-Core rev: 90e7cfebc6a9ac4b229b45c6a7dc95218efe55c5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch21
-rw-r--r--meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb1
-rw-r--r--meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch37
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_6.03.bb1
4 files changed, 60 insertions, 0 deletions
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch b/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch
new file mode 100644
index 0000000000..0ce6d7b0cb
--- /dev/null
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi/gcc46-compatibility.patch
@@ -0,0 +1,21 @@
1don't break with old compilers and -DGNU_EFI_USE_MS_ABI
2It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current
3compiler doesn't support it, and gnu-efi should transparently fall back to
4using legacy techniques to set the calling convention. We don't get type
5checking, but at least it will still compile.
6
7Author: Steve Langasek <steve.langasek@ubuntu.com>
8Upstream-Status: Pending
9Index: gnu-efi-3.0.3/inc/x86_64/efibind.h
10===================================================================
11--- gnu-efi-3.0.3.orig/inc/x86_64/efibind.h
12+++ gnu-efi-3.0.3/inc/x86_64/efibind.h
13@@ -25,8 +25,6 @@ Revision History
14 #if defined(GNU_EFI_USE_MS_ABI)
15 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
16 #define HAVE_USE_MS_ABI 1
17- #else
18- #error Compiler is too old for GNU_EFI_USE_MS_ABI
19 #endif
20 #endif
21
diff --git a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb
index 1a1ba40226..eca34599ce 100644
--- a/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb
+++ b/meta/recipes-bsp/gnu-efi/gnu-efi_3.0.3.bb
@@ -18,6 +18,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
18 file://parallel-make-archives.patch \ 18 file://parallel-make-archives.patch \
19 file://lib-Makefile-fix-parallel-issue.patch \ 19 file://lib-Makefile-fix-parallel-issue.patch \
20 file://gnu-efi-Make-setjmp.S-portable-to-ARM.patch \ 20 file://gnu-efi-Make-setjmp.S-portable-to-ARM.patch \
21 file://gcc46-compatibility.patch \
21 " 22 "
22 23
23SRC_URI[md5sum] = "15a4bcbc18a9a5e8110ed955970622e6" 24SRC_URI[md5sum] = "15a4bcbc18a9a5e8110ed955970622e6"
diff --git a/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch b/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch
new file mode 100644
index 0000000000..6279258c2e
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/syslinux/0010-gcc46-compatibility.patch
@@ -0,0 +1,37 @@
1don't break with old compilers and -DGNU_EFI_USE_MS_ABI
2It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current
3compiler doesn't support it, and gnu-efi should transparently fall back to
4using legacy techniques to set the calling convention. We don't get type
5checking, but at least it will still compile.
6
7Adapted from gnu-efi
8
9Author: Steve Langasek <steve.langasek@ubuntu.com>
10Upstream-Status: Pending
11
12Index: syslinux-6.03/efi64/include/efi/x86_64/efibind.h
13===================================================================
14--- syslinux-6.03.orig/efi64/include/efi/x86_64/efibind.h
15+++ syslinux-6.03/efi64/include/efi/x86_64/efibind.h
16@@ -25,8 +25,6 @@ Revision History
17 #if defined(GNU_EFI_USE_MS_ABI)
18 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
19 #define HAVE_USE_MS_ABI 1
20- #else
21- #error Compiler is too old for GNU_EFI_USE_MS_ABI
22 #endif
23 #endif
24
25Index: syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
26===================================================================
27--- syslinux-6.03.orig/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
28+++ syslinux-6.03/gnu-efi/gnu-efi-3.0/inc/x86_64/efibind.h
29@@ -25,8 +25,6 @@ Revision History
30 #if defined(GNU_EFI_USE_MS_ABI)
31 #if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))
32 #define HAVE_USE_MS_ABI 1
33- #else
34- #error Compiler is too old for GNU_EFI_USE_MS_ABI
35 #endif
36 #endif
37
diff --git a/meta/recipes-devtools/syslinux/syslinux_6.03.bb b/meta/recipes-devtools/syslinux/syslinux_6.03.bb
index ef9ae2fbea..94077da25d 100644
--- a/meta/recipes-devtools/syslinux/syslinux_6.03.bb
+++ b/meta/recipes-devtools/syslinux/syslinux_6.03.bb
@@ -21,6 +21,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/boot/syslinux/syslinux-${PV}.tar.xz \
21 file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \ 21 file://0007-linux-syslinux-implement-ext_construct_sectmap_fs.patch \
22 file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \ 22 file://0008-libinstaller-syslinuxext-implement-syslinux_patch_bo.patch \
23 file://0009-linux-syslinux-implement-install_bootblock.patch \ 23 file://0009-linux-syslinux-implement-install_bootblock.patch \
24 file://0010-gcc46-compatibility.patch \
24 " 25 "
25 26
26SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13" 27SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13"