net-analyzer/nagios-plugins-linux-madrisan: fix build w. -fno-common

Closes: https://bugs.gentoo.org/706536
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Louis Sautier <sbraz@gentoo.org>
This commit is contained in:
Louis Sautier
2020-01-29 12:01:18 +01:00
parent 3414aec8a1
commit 1c6d84bece
2 changed files with 42 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
From 4936ca25f3e9a2875ce063033e5e8f3a3590dab2 Mon Sep 17 00:00:00 2001
From: Davide Madrisan <davide.madrisan@gmail.com>
Date: Mon, 27 Jan 2020 22:00:41 +0100
Subject: [PATCH] The build fails when '-fno-common' is added to CFLAGS
As reported by 'sbraz', the build stops with the error message:
(.bss+0x8): multiple definition of `program_name'
(.bss+0x0): multiple definition of `program_name_short'
This flag will be apparently enabled by default in gcc 10.
Fix this build problem by correctly referencing as extern both
the variables in the header file.
Signed-off-by: Davide Madrisan <davide.madrisan@gmail.com>
---
include/progname.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/progname.h b/include/progname.h
index 576ed16..847122a 100644
--- a/include/progname.h
+++ b/include/progname.h
@@ -25,10 +25,10 @@ extern "C" {
#endif
/* String containing name the program is called with. */
- const char *program_name;
+ extern const char *program_name;
/* String containing a short version of 'program_name'. */
- const char *program_name_short;
+ extern const char *program_name_short;
/* Set program_name, based on argv[0].
argv0 must be a string allocated with indefinite extent, and must not be

View File

@@ -1,4 +1,4 @@
# Copyright 2019 Gentoo Authors
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -20,6 +20,10 @@ IUSE="curl"
DEPEND="curl? ( net-misc/curl:0= )"
RDEPEND="${DEPEND}"
# https://github.com/madrisan/nagios-plugins-linux/issues/48
# Will be in the next release
PATCHES=( "${FILESDIR}/${P}-fix-fno-common.patch" )
S="${WORKDIR}/${MY_P}"
src_prepare() {