mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-05-22 05:51:48 +00:00
sharutils: Fix build with -fno-common
GCC 10 defaults to -fno-common that results into errors on multiple global variable definitions Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
bbf746857d
commit
401b614d50
@ -0,0 +1,98 @@
|
||||
From b7dd97708b9d0ed09d8d7ac435f8b25eadbf6487 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Petr=20P=C3=83=C2=ADsa=C3=85=E2=84=A2?= <address@hidden>
|
||||
Date: Thu, 13 Aug 2020 11:20:38 -0700
|
||||
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.
|
||||
|
||||
<https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/msg00001.html>
|
||||
|
||||
Signed-off-by: Petr PÃsaÅ™ <address@hidden>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
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 172676f..f6e4e79 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 568ffca..aa85833 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 5b74419..289a366 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 1a5b7bc..f2df0a8 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.28.0
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
From ab981e1a973e83edb6ea19e6e84102f43ded0dcb Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 13 Aug 2020 11:22:40 -0700
|
||||
Subject: [PATCH 2/2] Do not include lib/md5.c into src/shar.c
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
ib/md5.o is part of libgnu.a that is linked to shar. There is no
|
||||
point in linking md5.o twice into shar executable. Moreover SuSE
|
||||
reports that this triggers a linking error with GCC 10:
|
||||
|
||||
/usr/lib64/gcc/x86_64-suse-linux/9/../../../../x86_64-suse-linux/bin/ld:
|
||||
../lib/libgnu.a(md5.o): in function `md5_stream':
|
||||
[ 30s] md5.c:(.text+0x15d): multiple definition of `md5_stream';
|
||||
shar.o:shar.c:(.text+0x28): first defined here
|
||||
|
||||
<https://lists.gnu.org/archive/html/bug-gnu-utils/2020-01/msg00001.html>
|
||||
|
||||
Signed-off-by: Petr PÃsaÅ™ <address@hidden>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/shar.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/shar.c b/src/shar.c
|
||||
index 11cbada..6d7ed1d 100644
|
||||
--- a/src/shar.c
|
||||
+++ b/src/shar.c
|
||||
@@ -53,7 +53,6 @@ static const char cright_years_z[] =
|
||||
|
||||
#include "inttostr.h"
|
||||
#include "liballoca.h"
|
||||
-#include "md5.c"
|
||||
#include "md5.h"
|
||||
#include "quotearg.h"
|
||||
#include "xalloc.h"
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@ -10,6 +10,8 @@ SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
|
||||
file://0001-Fix-build-with-clang.patch \
|
||||
file://CVE-2018-1000097.patch \
|
||||
file://0001-Fix-build-with-recent-gettext.patch \
|
||||
file://0001-Fix-building-with-GCC-10.patch \
|
||||
file://0002-Do-not-include-lib-md5.c-into-src-shar.c.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "32a51b23e25ad5e6af4b89f228be1800"
|
||||
SRC_URI[sha256sum] = "ee336e68549664e7a19b117adf02edfdeac6307f22e5ba78baca457116914637"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user