--- Begin Message ---
Subject: |
[PATCH] Remove definitions of UP, BC and PC which should be provided by terminfo |
Date: |
Thu, 3 Sep 2020 17:57:48 -0700 |
Otherwise if terminfo.c is compiled with -fno-common (GCC 10 and clang
11 default) and the archive version of the terminfo library is linked,
there will be a multiple definition linker error.
* src/terminfo.c (UP, BC, PC): Delete.
---
src/terminfo.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/terminfo.c b/src/terminfo.c
index 51fd32e9e0..cc93d1012e 100644
--- a/src/terminfo.c
+++ b/src/terminfo.c
@@ -21,12 +21,6 @@
#include "lisp.h"
-/* Define these variables that serve as global parameters to termcap,
- so that we do not need to conditionalize the places in Emacs
- that set them. */
-
-char *UP, *BC, PC;
-
/* Interface to curses/terminfo library.
Turns out that all of the terminfo-level routines look
like their termcap counterparts except for tparm, which replaces
--
2.28.0.526.ge36021eeef-goog
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#43195: [PATCH] Remove definitions of UP, BC and PC which should be provided by terminfo |
Date: |
Sat, 12 Sep 2020 10:49:05 +0300 |
> From: Fāng-ruì Sòng <maskray@google.com>
> Date: Sat, 12 Sep 2020 00:33:27 -0700
> Cc: 43195@debbugs.gnu.org
>
> > > I don't know whether it is worth mentioning that -fcommon/-fno-common
> > > does not
> > > cause a linker error when libtinfo.so is linked (a common/regular
> > > definition
> > > preempts a shared definition).
> > >
> > > -fno-common + libtinfo.a => multiple definition error
> >
> > OK, but the change works even in these other cases, right?
>
> Yep! The new code should work in other cases, -fcommon/-fno-common x
> libtinfo.a/libtinfo.so
OK, so I'm closing the bug report.
Thanks.
--- End Message ---