From fdbdbf3786a1cf21010c4fc14b6aeb7b8c24a4c8 Mon Sep 17 00:00:00 2001 From: Thomas Deutschmann Date: Sun, 3 May 2020 20:49:52 +0200 Subject: [PATCH] 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 --- ...ols-2.0.20-build-multiboot2-for-i386.patch | 68 +++++++++++++++++++ .../kexec-tools/kexec-tools-2.0.20-r1.ebuild | 1 + 2 files changed, 69 insertions(+) create mode 100644 sys-apps/kexec-tools/files/kexec-tools-2.0.20-build-multiboot2-for-i386.patch 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 000000000000..8f63ddbe3ba3 --- /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 +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 +Signed-off-by: Simon Horman +--- + 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 7fd2e6f2679e..85f71ffaf47b 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() { -- 2.26.2