x86: Fix broken multiboot2 buliding for i386
When building for i386, an error occured: kexec/arch/i386/kexec-x86.c:39:22: error: 'multiboot2_x86_probe' undeclared here (not in a function); did you mean 'multiboot_x86_probe'? 39 | { "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'? 39 | { "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'? 40 | multiboot2_x86_usage }, | ^~~~~~~~~~~~~~~~~~~~ | multiboot_x86_usage Fix this issue by putting the definition in the right header, also tidy up Makefile. Signed-off-by: Kairui Song <kasong@redhat.com>
This commit is contained in:
parent
88bbab963f
commit
cb1e5463b5
@ -0,0 +1,88 @@
|
||||
From 940c3a1e1a304fbecc850c593a272215b0f52eab Mon Sep 17 00:00:00 2001
|
||||
From: Kairui Song <kasong@redhat.com>
|
||||
Date: Wed, 31 Jul 2019 16:30:47 +0800
|
||||
Subject: [PATCH] x86: Fix broken multiboot2 buliding for i386
|
||||
|
||||
When building for i386, an error occured:
|
||||
|
||||
kexec/arch/i386/kexec-x86.c:39:22: error: 'multiboot2_x86_probe'
|
||||
undeclared here (not in a function); did you mean 'multiboot_x86_probe'?
|
||||
39 | { "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'?
|
||||
39 | { "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'?
|
||||
40 | multiboot2_x86_usage },
|
||||
| ^~~~~~~~~~~~~~~~~~~~
|
||||
| multiboot_x86_usage
|
||||
|
||||
Fix this issue by putting the definition in the right header, also tidy
|
||||
up Makefile.
|
||||
|
||||
Fixes: 22a2ed55132e ("x86: Support multiboot2 images")
|
||||
Signed-off-by: Kairui Song <kasong@redhat.com>
|
||||
---
|
||||
kexec/arch/i386/Makefile | 2 +-
|
||||
kexec/arch/i386/kexec-x86.h | 5 +++++
|
||||
kexec/arch/x86_64/kexec-x86_64.h | 5 -----
|
||||
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
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..16d0f6c 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/arch/x86_64/kexec-x86_64.h b/kexec/arch/x86_64/kexec-x86_64.h
|
||||
index 21c3a73..4cdeffb 100644
|
||||
--- a/kexec/arch/x86_64/kexec-x86_64.h
|
||||
+++ b/kexec/arch/x86_64/kexec-x86_64.h
|
||||
@@ -33,9 +33,4 @@ int bzImage64_load(int argc, char **argv, const char *buf, off_t len,
|
||||
struct kexec_info *info);
|
||||
void bzImage64_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);
|
||||
-
|
||||
#endif /* KEXEC_X86_64_H */
|
||||
--
|
||||
2.21.0
|
||||
|
@ -72,6 +72,7 @@ Obsoletes: diskdumputils netdump kexec-tools-eppic
|
||||
#
|
||||
# Patches 0 through 100 are meant for x86 kexec-tools enablement
|
||||
#
|
||||
Patch0: kexec-tools-2.0.20-fix-broken-multiboot2-buliding-for-i386.patch
|
||||
|
||||
#
|
||||
# Patches 101 through 200 are meant for x86_64 kexec-tools enablement
|
||||
@ -100,12 +101,14 @@ binary and ancillary utilities that together form the userspace
|
||||
component of the kernel's kexec feature.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -q
|
||||
|
||||
mkdir -p -m755 kcp
|
||||
tar -z -x -v -f %{SOURCE9}
|
||||
tar -z -x -v -f %{SOURCE19}
|
||||
|
||||
%patch0 -p1
|
||||
|
||||
%ifarch ppc
|
||||
%define archdef ARCH=ppc
|
||||
%endif
|
||||
|
Loading…
Reference in New Issue
Block a user