From f8106dc2258bbf061a6d275a72fa8f32cc5502dfb37e988524e153c9ecc19cac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Tesa=C5=99=C3=ADk?= Date: Fri, 3 Apr 2020 12:19:31 +0000 Subject: [PATCH] Accepting request 791186 from home:ptesarik:branches:Kernel:kdump - kexec-tools-Remove-duplicated-variable-declarations.patch: Remove duplicated variable declarations (boo#1160399). OBS-URL: https://build.opensuse.org/request/show/791186 OBS-URL: https://build.opensuse.org/package/show/Kernel:kdump/kexec-tools?expand=0&rev=126 --- ...ove-duplicated-variable-declarations.patch | 92 +++++++++++++++++++ kexec-tools.changes | 6 ++ kexec-tools.spec | 2 + 3 files changed, 100 insertions(+) create mode 100644 kexec-tools-Remove-duplicated-variable-declarations.patch diff --git a/kexec-tools-Remove-duplicated-variable-declarations.patch b/kexec-tools-Remove-duplicated-variable-declarations.patch new file mode 100644 index 0000000..b42feea --- /dev/null +++ b/kexec-tools-Remove-duplicated-variable-declarations.patch @@ -0,0 +1,92 @@ +From cc087b11462af9f971a2c090d07e8d780a867b50 Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Wed, 29 Jan 2020 13:38:19 +0800 +Subject: kexec-tools: Remove duplicated variable declarations +References: boo#1160399 +Upstream: merged +Git-commit: cc087b11462af9f971a2c090d07e8d780a867b50 + +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 +Signed-off-by: Simon Horman +Acked-by: Petr Tesarik +--- + kexec/arch/arm64/kexec-arm64.h | 6 +++--- + kexec/arch/ppc64/kexec-elf-ppc64.c | 2 -- + kexec/arch/x86_64/kexec-bzImage64.c | 1 - + kexec/fs2dt.h | 2 +- + 4 files changed, 4 insertions(+), 7 deletions(-) + +--- a/kexec/arch/arm64/kexec-arm64.h ++++ b/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); +--- a/kexec/arch/ppc64/kexec-elf-ppc64.c ++++ b/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) + { +--- a/kexec/arch/x86_64/kexec-bzImage64.c ++++ b/kexec/arch/x86_64/kexec-bzImage64.c +@@ -42,7 +42,6 @@ + #include + + static const int probe_debug = 0; +-int bzImage_support_efi_boot; + + int bzImage64_probe(const char *buf, off_t len) + { +--- a/kexec/fs2dt.h ++++ b/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); diff --git a/kexec-tools.changes b/kexec-tools.changes index 0bd759f..56441d8 100644 --- a/kexec-tools.changes +++ b/kexec-tools.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Apr 3 12:11:16 UTC 2020 - Petr Tesařík + +- kexec-tools-Remove-duplicated-variable-declarations.patch: + Remove duplicated variable declarations (boo#1160399). + ------------------------------------------------------------------- Fri Apr 3 11:24:02 UTC 2020 - Petr Tesařík diff --git a/kexec-tools.spec b/kexec-tools.spec index 578bc7e..75585a7 100644 --- a/kexec-tools.spec +++ b/kexec-tools.spec @@ -39,6 +39,7 @@ Patch10: %{name}-SYS_getrandom.patch Patch11: %{name}-fix-kexec_file_load-error-handling.patch Patch12: %{name}-reset-getopt-before-falling-back-to-legacy.patch Patch13: %{name}-s390-Reset-kernel-command-line-on-syscal.patch +Patch14: %{name}-Remove-duplicated-variable-declarations.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: systemd-rpm-macros @@ -74,6 +75,7 @@ the loaded kernel after it panics. %patch11 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p1 %build autoreconf -fvi