Blame SOURCES/kexec-tools-2.0.20-Remove-duplicated-variable-declarations.patch

fe2ad6
From cc087b11462af9f971a2c090d07e8d780a867b50 Mon Sep 17 00:00:00 2001
fe2ad6
From: Kairui Song <kasong@redhat.com>
fe2ad6
Date: Wed, 29 Jan 2020 13:38:19 +0800
fe2ad6
Subject: [PATCH] kexec-tools: Remove duplicated variable declarations
fe2ad6
fe2ad6
When building kexec-tools for Fedora 32, following error is observed:
fe2ad6
fe2ad6
/usr/bin/ld: kexec/arch/x86_64/kexec-bzImage64.o:(.bss+0x0): multiple definition of `bzImage_support_efi_boot';
fe2ad6
kexec/arch/i386/kexec-bzImage.o:(.bss+0x0): first defined here
fe2ad6
fe2ad6
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm/../../fs2dt.h:33: multiple definition of `my_debug';
fe2ad6
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/kexec/fs2dt.h:33: first defined here
fe2ad6
fe2ad6
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:68: multiple definition of `arm64_mem';
fe2ad6
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:68: first defined here
fe2ad6
fe2ad6
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:54: multiple definition of `initrd_size';
fe2ad6
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:54: first defined here
fe2ad6
fe2ad6
/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:53: multiple definition of `initrd_base';
fe2ad6
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:53: first defined here
fe2ad6
fe2ad6
And apparently, these variables are wrongly declared multiple times. So
fe2ad6
remove duplicated declaration.
fe2ad6
fe2ad6
Signed-off-by: Kairui Song <kasong@redhat.com>
fe2ad6
Signed-off-by: Simon Horman <horms@verge.net.au>
fe2ad6
---
fe2ad6
 kexec/arch/arm64/kexec-arm64.h      | 6 +++---
fe2ad6
 kexec/arch/ppc64/kexec-elf-ppc64.c  | 2 --
fe2ad6
 kexec/arch/x86_64/kexec-bzImage64.c | 1 -
fe2ad6
 kexec/fs2dt.h                       | 2 +-
fe2ad6
 4 files changed, 4 insertions(+), 7 deletions(-)
fe2ad6
fe2ad6
diff --git a/kexec/arch/arm64/kexec-arm64.h b/kexec/arch/arm64/kexec-arm64.h
fe2ad6
index 628de79..ed447ac 100644
fe2ad6
--- a/kexec/arch/arm64/kexec-arm64.h
fe2ad6
+++ b/kexec/arch/arm64/kexec-arm64.h
fe2ad6
@@ -50,8 +50,8 @@ int zImage_arm64_load(int argc, char **argv, const char *kernel_buf,
fe2ad6
 void zImage_arm64_usage(void);
fe2ad6
 
fe2ad6
 
fe2ad6
-off_t initrd_base;
fe2ad6
-off_t initrd_size;
fe2ad6
+extern off_t initrd_base;
fe2ad6
+extern off_t initrd_size;
fe2ad6
 
fe2ad6
 /**
fe2ad6
  * struct arm64_mem - Memory layout info.
fe2ad6
@@ -65,7 +65,7 @@ struct arm64_mem {
fe2ad6
 };
fe2ad6
 
fe2ad6
 #define arm64_mem_ngv UINT64_MAX
fe2ad6
-struct arm64_mem arm64_mem;
fe2ad6
+extern struct arm64_mem arm64_mem;
fe2ad6
 
fe2ad6
 uint64_t get_phys_offset(void);
fe2ad6
 uint64_t get_vp_offset(void);
fe2ad6
diff --git a/kexec/arch/ppc64/kexec-elf-ppc64.c b/kexec/arch/ppc64/kexec-elf-ppc64.c
fe2ad6
index 3510b70..695b8b0 100644
fe2ad6
--- a/kexec/arch/ppc64/kexec-elf-ppc64.c
fe2ad6
+++ b/kexec/arch/ppc64/kexec-elf-ppc64.c
fe2ad6
@@ -44,8 +44,6 @@
fe2ad6
 uint64_t initrd_base, initrd_size;
fe2ad6
 unsigned char reuse_initrd = 0;
fe2ad6
 const char *ramdisk;
fe2ad6
-/* Used for enabling printing message from purgatory code */
fe2ad6
-int my_debug = 0;
fe2ad6
 
fe2ad6
 int elf_ppc64_probe(const char *buf, off_t len)
fe2ad6
 {
fe2ad6
diff --git a/kexec/arch/x86_64/kexec-bzImage64.c b/kexec/arch/x86_64/kexec-bzImage64.c
fe2ad6
index 8edb3e4..ba8dc48 100644
fe2ad6
--- a/kexec/arch/x86_64/kexec-bzImage64.c
fe2ad6
+++ b/kexec/arch/x86_64/kexec-bzImage64.c
fe2ad6
@@ -42,7 +42,6 @@
fe2ad6
 #include <arch/options.h>
fe2ad6
 
fe2ad6
 static const int probe_debug = 0;
fe2ad6
-int bzImage_support_efi_boot;
fe2ad6
 
fe2ad6
 int bzImage64_probe(const char *buf, off_t len)
fe2ad6
 {
fe2ad6
diff --git a/kexec/fs2dt.h b/kexec/fs2dt.h
fe2ad6
index 7633273..fe24931 100644
fe2ad6
--- a/kexec/fs2dt.h
fe2ad6
+++ b/kexec/fs2dt.h
fe2ad6
@@ -30,7 +30,7 @@ extern struct bootblock bb[1];
fe2ad6
 
fe2ad6
 /* Used for enabling printing message from purgatory code
fe2ad6
  * Only has implemented for PPC64 */
fe2ad6
-int my_debug;
fe2ad6
+extern int my_debug;
fe2ad6
 extern int dt_no_old_root;
fe2ad6
 
fe2ad6
 void reserve(unsigned long long where, unsigned long long length);
fe2ad6
-- 
fe2ad6
2.7.5
fe2ad6