commit:     fdbdbf3786a1cf21010c4fc14b6aeb7b8c24a4c8
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Sun May  3 18:49:52 2020 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Sun May  3 19:01:10 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fdbdbf37

sys-apps/kexec-tools: build multiboot2 for i386

Closes: https://bugs.gentoo.org/705314
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>

 ...ec-tools-2.0.20-build-multiboot2-for-i386.patch | 68 ++++++++++++++++++++++
 sys-apps/kexec-tools/kexec-tools-2.0.20-r1.ebuild  |  1 +
 2 files changed, 69 insertions(+)

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
index 00000000000..8f63ddbe3ba
--- /dev/null
+++ 
b/sys-apps/kexec-tools/files/kexec-tools-2.0.20-build-multiboot2-for-i386.patch
@@ -0,0 +1,68 @@
+From 2c9f26ed20a791a7df0182ba82e93abb52f5a615 Mon Sep 17 00:00:00 2001
+From: Chris Packham <[email protected]>
+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 <[email protected]>
+Signed-off-by: Simon Horman <[email protected]>
+---
+ 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
+

diff --git a/sys-apps/kexec-tools/kexec-tools-2.0.20-r1.ebuild 
b/sys-apps/kexec-tools/kexec-tools-2.0.20-r1.ebuild
index 7fd2e6f2679..85f71ffaf47 100644
--- a/sys-apps/kexec-tools/kexec-tools-2.0.20-r1.ebuild
+++ b/sys-apps/kexec-tools/kexec-tools-2.0.20-r1.ebuild
@@ -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() {

Reply via email to