Package: kexec-tools / 1:2.0.20-2.1

kexec-tools-remove-duplicated-variable-d.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
From: Kairui Song <kasong@redhat.com>
Date: Wed, 29 Jan 2020 13:38:19 +0800
X-Dgit-Generated: 1:2.0.20-2.1 2bf3cc958fc767a2868b5766a3b6ac73da019ef3
Subject: kexec-tools: Remove duplicated variable declarations

When building kexec-tools for Fedora 32, following error is observed:

/usr/bin/ld: kexec/arch/x86_64/kexec-bzImage64.o:(.bss+0x0): multiple definition of `bzImage_support_efi_boot';
kexec/arch/i386/kexec-bzImage.o:(.bss+0x0): first defined here

/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm/../../fs2dt.h:33: multiple definition of `my_debug';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/kexec/fs2dt.h:33: first defined here

/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:68: multiple definition of `arm64_mem';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:68: first defined here

/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:54: multiple definition of `initrd_size';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:54: first defined here

/builddir/build/BUILD/kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h:53: multiple definition of `initrd_base';
kexec/fs2dt.o:/builddir/build/BUILD/kexec-tools-2.0.20/././kexec/arch/arm64/kexec-arm64.h:53: first defined here

And apparently, these variables are wrongly declared multiple times. So
remove duplicated declaration.

Signed-off-by: Kairui Song <kasong@redhat.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
(cherry picked from commit cc087b11462af9f971a2c090d07e8d780a867b50)
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>

---

--- kexec-tools-2.0.20.orig/kexec/arch/arm64/kexec-arm64.h
+++ kexec-tools-2.0.20/kexec/arch/arm64/kexec-arm64.h
@@ -50,8 +50,8 @@ int zImage_arm64_load(int argc, char **a
 void zImage_arm64_usage(void);
 
 
-off_t initrd_base;
-off_t initrd_size;
+extern off_t initrd_base;
+extern off_t initrd_size;
 
 /**
  * struct arm64_mem - Memory layout info.
@@ -65,7 +65,7 @@ struct arm64_mem {
 };
 
 #define arm64_mem_ngv UINT64_MAX
-struct arm64_mem arm64_mem;
+extern struct arm64_mem arm64_mem;
 
 uint64_t get_phys_offset(void);
 uint64_t get_vp_offset(void);
--- kexec-tools-2.0.20.orig/kexec/arch/ppc64/kexec-elf-ppc64.c
+++ kexec-tools-2.0.20/kexec/arch/ppc64/kexec-elf-ppc64.c
@@ -44,8 +44,6 @@
 uint64_t initrd_base, initrd_size;
 unsigned char reuse_initrd = 0;
 const char *ramdisk;
-/* Used for enabling printing message from purgatory code */
-int my_debug = 0;
 
 int elf_ppc64_probe(const char *buf, off_t len)
 {
--- kexec-tools-2.0.20.orig/kexec/arch/x86_64/kexec-bzImage64.c
+++ kexec-tools-2.0.20/kexec/arch/x86_64/kexec-bzImage64.c
@@ -42,7 +42,6 @@
 #include <arch/options.h>
 
 static const int probe_debug = 0;
-int bzImage_support_efi_boot;
 
 int bzImage64_probe(const char *buf, off_t len)
 {
--- kexec-tools-2.0.20.orig/kexec/fs2dt.h
+++ kexec-tools-2.0.20/kexec/fs2dt.h
@@ -30,7 +30,7 @@ extern struct bootblock bb[1];
 
 /* Used for enabling printing message from purgatory code
  * Only has implemented for PPC64 */
-int my_debug;
+extern int my_debug;
 extern int dt_no_old_root;
 
 void reserve(unsigned long long where, unsigned long long length);