From 40764e0d7e0861595d3ae114f126c9473e510dd11c9f4f98735b9f43843e051a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Tesa=C5=99=C3=ADk?= Date: Mon, 13 Jan 2020 17:42:59 +0000 Subject: [PATCH] Accepting request 762607 from home:clin:branches:Kernel:kdump - Fix compiling errors of multiboot2_x86_* functions for i586 * kexec-tools-build-multiboot2-for-i386.patch OBS-URL: https://build.opensuse.org/request/show/762607 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/kexec-tools?expand=0&rev=116 --- kexec-tools-build-multiboot2-for-i386.patch | 70 +++++++++++++++++++++ kexec-tools.changes | 6 ++ kexec-tools.spec | 4 +- 3 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 kexec-tools-build-multiboot2-for-i386.patch diff --git a/kexec-tools-build-multiboot2-for-i386.patch b/kexec-tools-build-multiboot2-for-i386.patch new file mode 100644 index 0000000..3172657 --- /dev/null +++ b/kexec-tools-build-multiboot2-for-i386.patch @@ -0,0 +1,70 @@ +From: Chris Packham +Date: Sun, 17 Nov 2019 15:52:15 -0800 +Subject: kexec: build multiboot2 for i386 +References: jsc#SLE-9943 +Upstream: Queued, http://lists.infradead.org/pipermail/kexec/2020-January/024311.html + +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: Chester Lin +--- +I wasn't sure whether this should be fixed by linking with kexec-mb2-x86.o or +by removing the code from kexec-x86.c. I went for the former but I'd happily +change to the latter. + + 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); diff --git a/kexec-tools.changes b/kexec-tools.changes index ae7fa0b..53981a9 100644 --- a/kexec-tools.changes +++ b/kexec-tools.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jan 10 06:02:42 UTC 2020 - Chester Lin + +- Fix compiling errors of multiboot2_x86_* functions for i586 + * kexec-tools-build-multiboot2-for-i386.patch + ------------------------------------------------------------------- Mon Dec 16 15:45:05 UTC 2019 - Chester Lin diff --git a/kexec-tools.spec b/kexec-tools.spec index 15f0ff1..ddeab57 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -1,7 +1,7 @@ # # spec file for package kexec-tools # -# Copyright (c) 2019 SUSE LLC +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -33,6 +33,7 @@ Patch4: %{name}-vmcoreinfo-in-xen.patch Patch5: %{name}-add-variant-helper-functions.patch Patch6: %{name}-arm64-kexec-allocate-memory-space-avoiding-reserved-regions.patch Patch7: %{name}-arm64-kdump-deal-with-resource-entries-in-proc-iomem.patch +Patch8: %{name}-build-multiboot2-for-i386.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: systemd-rpm-macros @@ -62,6 +63,7 @@ the loaded kernel after it panics. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %build autoreconf -fvi