diff options
author | Khem Raj <raj.khem@gmail.com> | 2015-09-09 08:26:06 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-23 09:53:01 +0100 |
commit | 05b9a0c6281bf9d356ec836acb003ac80b9726a3 (patch) | |
tree | 6454b3c952335f122d440d751b7b36f28fa8ff20 | |
parent | cdfd96eb92415a1b3eaf603ffc4a35978985ade4 (diff) | |
download | poky-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>
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 @@ | |||
1 | don't break with old compilers and -DGNU_EFI_USE_MS_ABI | ||
2 | It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current | ||
3 | compiler doesn't support it, and gnu-efi should transparently fall back to | ||
4 | using legacy techniques to set the calling convention. We don't get type | ||
5 | checking, but at least it will still compile. | ||
6 | |||
7 | Author: Steve Langasek <steve.langasek@ubuntu.com> | ||
8 | Upstream-Status: Pending | ||
9 | Index: 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 | ||
23 | SRC_URI[md5sum] = "15a4bcbc18a9a5e8110ed955970622e6" | 24 | SRC_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 @@ | |||
1 | don't break with old compilers and -DGNU_EFI_USE_MS_ABI | ||
2 | It's entirely legitimate to request GNU_EFI_USE_MS_ABI even if the current | ||
3 | compiler doesn't support it, and gnu-efi should transparently fall back to | ||
4 | using legacy techniques to set the calling convention. We don't get type | ||
5 | checking, but at least it will still compile. | ||
6 | |||
7 | Adapted from gnu-efi | ||
8 | |||
9 | Author: Steve Langasek <steve.langasek@ubuntu.com> | ||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Index: 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 | |||
25 | Index: 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 | ||
26 | SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13" | 27 | SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13" |