sys-apps/kexec-tools: build multiboot2 for i386
authorThomas Deutschmann <whissi@gentoo.org>
Sun, 3 May 2020 18:49:52 +0000 (20:49 +0200)
committerThomas Deutschmann <whissi@gentoo.org>
Sun, 3 May 2020 19:01:10 +0000 (21:01 +0200)
Closes: https://bugs.gentoo.org/705314
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
sys-apps/kexec-tools/files/kexec-tools-2.0.20-build-multiboot2-for-i386.patch [new file with mode: 0644]
sys-apps/kexec-tools/kexec-tools-2.0.20-r1.ebuild

diff --git a/sys-apps/kexec-tools/files/kexec-tools-2.0.20-build-multiboot2-for-i386.patch b/sys-apps/kexec-tools/files/kexec-tools-2.0.20-build-multiboot2-for-i386.patch
new file mode 100644 (file)
index 0000000..8f63ddb
--- /dev/null
@@ -0,0 +1,68 @@
+From 2c9f26ed20a791a7df0182ba82e93abb52f5a615 Mon Sep 17 00:00:00 2001
+From: Chris Packham <chris.packham@alliedtelesis.co.nz>
+Date: Mon, 18 Nov 2019 12:52:15 +1300
+Subject: kexec: build multiboot2 for i386
+
+This addresses the following compilation issues when building for i386.
+
+ kexec/arch/i386/kexec-x86.c:39:22: error: 'multiboot2_x86_probe' undeclared here (not in a function); did you mean 'multiboot_x86_probe'?
+   { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load,
+                       ^~~~~~~~~~~~~~~~~~~~
+                       multiboot_x86_probe
+ kexec/arch/i386/kexec-x86.c:39:44: error: 'multiboot2_x86_load' undeclared here (not in a function); did you mean 'multiboot_x86_load'?
+   { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load,
+                                             ^~~~~~~~~~~~~~~~~~~
+                                             multiboot_x86_load
+ kexec/arch/i386/kexec-x86.c:40:4: error: 'multiboot2_x86_usage' undeclared here (not in a function); did you mean 'multiboot_x86_usage'?
+     multiboot2_x86_usage },
+     ^~~~~~~~~~~~~~~~~~~~
+     multiboot_x86_usage
+ make: *** [Makefile:114: kexec/arch/i386/kexec-x86.o] Error 1
+ make: *** Waiting for unfinished jobs....
+
+Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
+Signed-off-by: Simon Horman <horms@verge.net.au>
+---
+ kexec/arch/i386/Makefile    | 2 +-
+ kexec/arch/i386/kexec-x86.h | 5 +++++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/kexec/arch/i386/Makefile b/kexec/arch/i386/Makefile
+index 105cefd..f486103 100644
+--- a/kexec/arch/i386/Makefile
++++ b/kexec/arch/i386/Makefile
+@@ -7,6 +7,7 @@ i386_KEXEC_SRCS += kexec/arch/i386/kexec-elf-x86.c
+ i386_KEXEC_SRCS += kexec/arch/i386/kexec-elf-rel-x86.c
+ i386_KEXEC_SRCS += kexec/arch/i386/kexec-bzImage.c
+ i386_KEXEC_SRCS += kexec/arch/i386/kexec-multiboot-x86.c
++i386_KEXEC_SRCS += kexec/arch/i386/kexec-mb2-x86.c
+ i386_KEXEC_SRCS += kexec/arch/i386/kexec-beoboot-x86.c
+ i386_KEXEC_SRCS += kexec/arch/i386/kexec-nbi.c
+ i386_KEXEC_SRCS += kexec/arch/i386/x86-linux-setup.c
+@@ -14,7 +15,6 @@ i386_KEXEC_SRCS += kexec/arch/i386/crashdump-x86.c
+ dist += kexec/arch/i386/Makefile $(i386_KEXEC_SRCS)                   \
+       kexec/arch/i386/crashdump-x86.h                                 \
+-      kexec/arch/i386/kexec-mb2-x86.c                                 \
+       kexec/arch/i386/kexec-x86.h                                     \
+       kexec/arch/i386/x86-linux-setup.h                               \
+       kexec/arch/i386/include/arch/options.h
+diff --git a/kexec/arch/i386/kexec-x86.h b/kexec/arch/i386/kexec-x86.h
+index 1b58c3b..0f941df 100644
+--- a/kexec/arch/i386/kexec-x86.h
++++ b/kexec/arch/i386/kexec-x86.h
+@@ -60,6 +60,11 @@ int multiboot_x86_load(int argc, char **argv, const char *buf, off_t len,
+       struct kexec_info *info);
+ void multiboot_x86_usage(void);
++int multiboot2_x86_load(int argc, char **argv, const char *buf, off_t len,
++                      struct kexec_info *info);
++void multiboot2_x86_usage(void);
++int multiboot2_x86_probe(const char *buf, off_t buf_len);
++
+ int elf_x86_probe(const char *buf, off_t len);
+ int elf_x86_load(int argc, char **argv, const char *buf, off_t len,
+       struct kexec_info *info);
+-- 
+cgit 1.2-0.3.lf.el7
+
index 7fd2e6f2679e5614d8c70b7d534d03626c76f3e0..85f71ffaf47bb32eda541ad60347abdf0595e63b 100644 (file)
@@ -36,6 +36,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.0.4-disable-kexec-test.patch
        "${FILESDIR}"/${PN}-2.0.4-out-of-source.patch
        "${FILESDIR}"/${P}-remove-duplicated-variable-declarations.patch
+       "${FILESDIR}"/${P}-build-multiboot2-for-i386.patch
 )
 
 pkg_setup() {