aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuanhui Zhang <asmwarrior@gmail.com>2015-03-16 11:28:24 +0000
committerPedro Alves <palves@redhat.com>2015-03-16 11:36:00 +0000
commitd053f6be557fa3bedd4ccbd969103dbb51a37439 (patch)
tree968282cee5db36ad117f1e14e56134f09b0ac974
parentb1a921c8c6f9e3d033629f32473c6470c360b43f (diff)
downloadbinutils-d053f6be557fa3bedd4ccbd969103dbb51a37439.zip
binutils-d053f6be557fa3bedd4ccbd969103dbb51a37439.tar.gz
binutils-d053f6be557fa3bedd4ccbd969103dbb51a37439.tar.bz2
stub termcap, add extern "C"
Fixes linking an --enable-build-with-cxx build on mingw: ../readline/terminal.c:278: undefined reference to `tgetnum' ../readline/terminal.c:297: undefined reference to `tgetnum' ../readline/libreadline.a(terminal.o): In function `get_term_capabilities': ../readline/terminal.c:427: undefined reference to `tgetstr' ../readline/libreadline.a(terminal.o): In function `_rl_init_terminal_io': [etc.] gdb/ChangeLog: 2015-03-16 Yuanhui Zhang <asmwarrior@gmail.com> Pedro Alves <palves@redhat.com> * gdb_curses.h (tgetnum): Mark with EXTERN_C. * stub-termcap.c (tgetent, tgetnum, tgetflag, tgetstr, tputs) (tgoto): Wrap with extern "C".
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/gdb_curses.h2
-rw-r--r--gdb/stub-termcap.c8
3 files changed, 16 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 54cb0b2..eb8ef87 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-16 Yuanhui Zhang <asmwarrior@gmail.com>
+ Pedro Alves <palves@redhat.com>
+
+ * gdb_curses.h (tgetnum): Mark with EXTERN_C.
+ * stub-termcap.c (tgetent, tgetnum, tgetflag, tgetstr, tputs)
+ (tgoto): Wrap with extern "C".
+
2015-03-16 Pedro Alves <palves@redhat.com>
Yuanhui Zhang <asmwarrior@gmail.com>
diff --git a/gdb/gdb_curses.h b/gdb/gdb_curses.h
index 9b3707a..a89383f 100644
--- a/gdb/gdb_curses.h
+++ b/gdb/gdb_curses.h
@@ -51,7 +51,7 @@
of the termcap functions will be built from stub-termcap.c. Readline
provides its own extern declarations when there's no termcap.h; do the
same here for the termcap functions used in GDB. */
-extern int tgetnum (const char *);
+EXTERN_C int tgetnum (const char *);
#endif
/* SunOS's curses.h has a '#define reg register' in it. Thank you Sun. */
diff --git a/gdb/stub-termcap.c b/gdb/stub-termcap.c
index cecb3fb..5897d89 100644
--- a/gdb/stub-termcap.c
+++ b/gdb/stub-termcap.c
@@ -24,6 +24,10 @@
#include <stdlib.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* -Wmissing-prototypes */
extern int tgetent (char *buffer, char *termtype);
extern int tgetnum (char *name);
@@ -32,6 +36,10 @@ extern char* tgetstr (char *name, char **area);
extern int tputs (char *string, int nlines, int (*outfun) (int));
extern char *tgoto (const char *cap, int col, int row);
+#ifdef __cplusplus
+}
+#endif
+
/* Each of the files below is a minimal implementation of the standard
termcap function with the same name, suitable for use in a Windows
console window. */