Fix --with-system-readline with readline-6.3 patch 5
Commit Message
Hi,
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:
https://kojipkgs.fedoraproject.org//work/tasks/9890/7059890/build.log
../../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 <tromey@redhat.com>
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
Jan
gdb/
2014-06-20 Jan Kratochvil <jan.kratochvil@redhat.com>
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.
Comments
>>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
Jan> You also have to use system readline-6.3 including its upstream patch:
Jan> [Bug-readline] Readline-6.3 Official Patch 5
Jan> http://lists.gnu.org/archive/html/bug-readline/2014-04/msg00018.html
Jan> Message-ID: <140415125618.AA57598.SM@caleb.ins.cwru.edu>
What's the story with upgrading the in-tree readline?
Jan> 2014-06-20 Jan Kratochvil <jan.kratochvil@redhat.com>
Jan> Fix --with-system-readline with readline-6.3 patch 5.
Jan> * tui/tui-io.c (tui_old_rl_getc_function, tui_old_rl_redisplay_function)
Jan> (tui_old_rl_prep_terminal, tui_old_rl_deprep_terminal): Use rl_*_t
Jan> types.
Ok.
Tom
On Fri, 20 Jun 2014 16:15:47 +0200, Tom Tromey wrote:
> >>>>> "Jan" == Jan Kratochvil <jan.kratochvil@redhat.com> writes:
>
> Jan> You also have to use system readline-6.3 including its upstream patch:
> Jan> [Bug-readline] Readline-6.3 Official Patch 5
> Jan> http://lists.gnu.org/archive/html/bug-readline/2014-04/msg00018.html
> Jan> Message-ID: <140415125618.AA57598.SM@caleb.ins.cwru.edu>
>
> What's the story with upgrading the in-tree readline?
IMO it should be done, checking the readline/ChangeLog.gdb changes etc.
Personally I find it valid only since readline-6.3 is in Fedora Rawhide now
as Fedora readline maintainer(s) had some issues with it before:
https://bugzilla.redhat.com/show_bug.cgi?id=1071336
> Jan> 2014-06-20 Jan Kratochvil <jan.kratochvil@redhat.com>
>
> Jan> Fix --with-system-readline with readline-6.3 patch 5.
> Jan> * tui/tui-io.c (tui_old_rl_getc_function, tui_old_rl_redisplay_function)
> Jan> (tui_old_rl_prep_terminal, tui_old_rl_deprep_terminal): Use rl_*_t
> Jan> types.
>
> Ok.
Checked in:
840ed64d1c1335328e0c4763dc5041d3cdb85c90
Jan
@@ -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.