From ec4ceb632abc0d54061269bc779459e13172f264 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Thu, 23 Jan 2020 15:42:41 +0100 Subject: [PATCH 1/2] Fix building with GCC 10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GCC 10 defaults to -fno-common that results into errors on multiple global variable definitions: /usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld: shar-opts.o:(.data.rel.ro.local+0x0): multiple definition of `program_name'; shar.o:(.rodata+0x10): first defined here This patch fixes it by changing the definitions in header files into extern declarations. Signed-off-by: Petr Písař --- src/shar-opts.h | 2 +- src/shar-std.def | 2 +- src/unshar-opts.h | 2 +- src/uudecode-opts.h | 2 +- src/uuencode-opts.h | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/shar-opts.h b/src/shar-opts.h index 75dcae2..5055d1c 100644 --- a/src/shar-opts.h +++ b/src/shar-opts.h @@ -352,7 +352,7 @@ extern "C" { * global exported definitions */ #include "local.h" -char const * const program_name; +extern char const * const program_name; extern bool initialization_done; extern int optidx; diff --git a/src/shar-std.def b/src/shar-std.def index ed06b77..a28f61c 100644 --- a/src/shar-std.def +++ b/src/shar-std.def @@ -41,7 +41,7 @@ no-misuse-usage; usage-message; die-code; -export = '#include "local.h"'"\nchar const * const program_name;"; +export = '#include "local.h"'"\nextern char const * const program_name;"; #shell echo "include = 'char const * const program_name = \"${progname}\";';" diff --git a/src/unshar-opts.h b/src/unshar-opts.h index 2c3febe..9ebe2fc 100644 --- a/src/unshar-opts.h +++ b/src/unshar-opts.h @@ -192,7 +192,7 @@ extern "C" { extern size_t separator_str_len; #include "local.h" -char const * const program_name; +extern char const * const program_name; /* * * * * * diff --git a/src/uudecode-opts.h b/src/uudecode-opts.h index 29b3b5c..5494289 100644 --- a/src/uudecode-opts.h +++ b/src/uudecode-opts.h @@ -170,7 +170,7 @@ extern "C" { * global exported definitions */ #include "local.h" -char const * const program_name; +extern char const * const program_name; /* * * * * * diff --git a/src/uuencode-opts.h b/src/uuencode-opts.h index e71c9b8..d6ec03e 100644 --- a/src/uuencode-opts.h +++ b/src/uuencode-opts.h @@ -166,7 +166,7 @@ extern "C" { * global exported definitions */ #include "local.h" -char const * const program_name; +extern char const * const program_name; /* * * * * * -- 2.21.1