app-shells/dash: fix build with gcc -fno-common
authorMike Gilbert <floppym@gentoo.org>
Sat, 2 May 2020 18:42:21 +0000 (14:42 -0400)
committerMike Gilbert <floppym@gentoo.org>
Sat, 2 May 2020 18:47:06 +0000 (14:47 -0400)
Closes: https://bugs.gentoo.org/707364
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
app-shells/dash/dash-0.5.10.2-r1.ebuild
app-shells/dash/files/dash-0.5.20.2-gcc-fno-common.patch [new file with mode: 0644]

index f04c97dff90456533aac090780b36540668cba96..a552c0f62f000197ac62546facde99be909b0f2e 100644 (file)
@@ -19,7 +19,10 @@ RDEPEND="!static? ( libedit? ( dev-libs/libedit ) )"
 DEPEND="${RDEPEND}
        libedit? ( static? ( dev-libs/libedit[static-libs] ) )"
 
-PATCHES=( "${FILESDIR}/${PN}-0.5.9.1-format-security.patch" )
+PATCHES=(
+       "${FILESDIR}/dash-0.5.9.1-format-security.patch"
+       "${FILESDIR}/dash-0.5.20.2-gcc-fno-common.patch"
+)
 
 src_prepare() {
        default
diff --git a/app-shells/dash/files/dash-0.5.20.2-gcc-fno-common.patch b/app-shells/dash/files/dash-0.5.20.2-gcc-fno-common.patch
new file mode 100644 (file)
index 0000000..08d5ed0
--- /dev/null
@@ -0,0 +1,38 @@
+From 4459ec7f6cd394b9d01bd9d537b0f04975583dff Mon Sep 17 00:00:00 2001
+From: Jeroen Roovers <jer@gentoo.org>
+Date: Mon, 16 Mar 2020 19:25:00 +0100
+Subject: [PATCH] input: Fix compiling against libedit with -fno-common
+To: dash@vger.kernel.org
+
+With -fno-common, which will be enabled by default in GCC 10, we see
+this error:
+
+ld: input.o:(.bss+0x0): multiple definition of `el';
+histedit.o:(.bss+0x8): first defined here
+
+To fix this, simply remove the definition as it is not needed.
+
+Signed-off-by: Jeroen Roovers <jer@gentoo.org>
+Signed-off-by: Mike Gilbert <floppym@gentoo.org>
+---
+ src/input.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/src/input.c b/src/input.c
+index ae0c4c8..e84eca8 100644
+--- a/src/input.c
++++ b/src/input.c
+@@ -67,10 +67,6 @@ MKINIT char basebuf[IBUFSIZ];       /* buffer for top level input file */
+ struct parsefile *parsefile = &basepf;        /* current input file */
+ int whichprompt;              /* 1 == PS1, 2 == PS2 */
+-#ifndef SMALL
+-EditLine *el;                 /* cookie for editline package */
+-#endif
+-
+ STATIC void pushfile(void);
+ static int preadfd(void);
+ static void setinputfd(int fd, int push);
+-- 
+2.25.1
+