From 840ed64d1c1335328e0c4763dc5041d3cdb85c90 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Fri, 20 Jun 2014 17:43:56 +0200 Subject: [PATCH] Fix --with-system-readline with readline-6.3 patch 5 I have filed now: --with-system-readline uses bundled readline include files https://sourceware.org/bugzilla/show_bug.cgi?id=17077 To see any effect of the patch below you have to do: rm -rf readline Otherwise readline include files get used the bundled ones from GDB which are currently 6.2 while system readline may be 6.3 already. You also have to use system readline-6.3 including its upstream patch: [Bug-readline] Readline-6.3 Official Patch 5 http://lists.gnu.org/archive/html/bug-readline/2014-04/msg00018.html Message-ID: <140415125618.AA57598.SM@caleb.ins.cwru.edu> In short it happens on Fedora Rawhide since: readline-6.3-1.fc21 https://koji.fedoraproject.org/koji/buildinfo?buildID=538941 The error is: ../../gdb/tui/tui-io.c:132:1: error: 'Function' is deprecated [-Werror=deprecated-declarations] static Function *tui_old_rl_getc_function; ^ ../../gdb/tui/tui-io.c:133:1: error: 'VFunction' is deprecated [-Werror=deprecated-declarations] static VFunction *tui_old_rl_redisplay_function; ^ ../../gdb/tui/tui-io.c:134:1: error: 'VFunction' is deprecated [-Werror=deprecated-declarations] static VFunction *tui_old_rl_prep_terminal; ^ ../../gdb/tui/tui-io.c:135:1: error: 'VFunction' is deprecated [-Werror=deprecated-declarations] static VFunction *tui_old_rl_deprep_terminal; ^ It is since bash change: lib/readline/rltypedefs.h - remove old Function/VFunction/CPFunction/CPPFunction typedefs as suggested by Tom Tromey The new typedefs used below are present in readline/rltypedefs.h since: git://git.savannah.gnu.org/bash.git commit 28ef6c316f1aff914bb95ac09787a3c83c1815fd Date: Fri Apr 6 19:14:31 2001 +0000 gdb/ 2014-06-20 Jan Kratochvil Fix --with-system-readline with readline-6.3 patch 5. * tui/tui-io.c (tui_old_rl_getc_function, tui_old_rl_redisplay_function) (tui_old_rl_prep_terminal, tui_old_rl_deprep_terminal): Use rl_*_t types. Message-ID: <20140620105004.GA22236@host2.jankratochvil.net> --- gdb/ChangeLog | 7 +++++++ gdb/tui/tui-io.c | 8 ++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index be26dc9..734b910 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2014-06-20 Jan Kratochvil + + Fix --with-system-readline with readline-6.3 patch 5. + * tui/tui-io.c (tui_old_rl_getc_function, tui_old_rl_redisplay_function) + (tui_old_rl_prep_terminal, tui_old_rl_deprep_terminal): Use rl_*_t + types. + 2014-06-20 Tom Tromey * dwarf2read.c (dw2_get_real_path): Use correct type in diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c index 761d203..dcccb08 100644 --- a/gdb/tui/tui-io.c +++ b/gdb/tui/tui-io.c @@ -129,10 +129,10 @@ static struct ui_file *tui_old_stderr; struct ui_out *tui_old_uiout; /* Readline previous hooks. */ -static Function *tui_old_rl_getc_function; -static VFunction *tui_old_rl_redisplay_function; -static VFunction *tui_old_rl_prep_terminal; -static VFunction *tui_old_rl_deprep_terminal; +static rl_getc_func_t *tui_old_rl_getc_function; +static rl_voidfunc_t *tui_old_rl_redisplay_function; +static rl_vintfunc_t *tui_old_rl_prep_terminal; +static rl_voidfunc_t *tui_old_rl_deprep_terminal; static int tui_old_rl_echoing_p; /* Readline output stream. -- 2.7.4