From 11195233b5ada1446f6770422c805a0098b3dc5a Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Fri, 20 Jun 2014 12:53:48 +0200 Subject: [PATCH] Fix --with-system-readline with readline-6.3 patch 5. - Use --enable-werror again. --- gdb-readline-6.3.5.patch | 90 ++++++++++++++++++++++++++++++++++++++++ gdb.spec | 12 +++++- 2 files changed, 100 insertions(+), 2 deletions(-) create mode 100644 gdb-readline-6.3.5.patch diff --git a/gdb-readline-6.3.5.patch b/gdb-readline-6.3.5.patch new file mode 100644 index 0000000..b26ab3a --- /dev/null +++ b/gdb-readline-6.3.5.patch @@ -0,0 +1,90 @@ +http://sourceware.org/ml/gdb-patches/2014-06/msg00737.html +Subject: [patch] Fix --with-system-readline with readline-6.3 patch 5 + + +--BXVAT5kNtrzKuDFl +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline + +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 + +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 + +--BXVAT5kNtrzKuDFl +Content-Type: text/plain; charset=us-ascii +Content-Disposition: inline; filename="tuireadline.patch" + +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. + +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. + +--BXVAT5kNtrzKuDFl-- + diff --git a/gdb.spec b/gdb.spec index f6b8412..cacd691 100644 --- a/gdb.spec +++ b/gdb.spec @@ -25,7 +25,7 @@ Version: 7.7.90.20140613 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain and GFDL Group: Development/Debuggers @@ -537,6 +537,9 @@ Patch911: gdb-bfd-demangled-names.patch # Fix gdb-7.8 watchpoint-fork.exp regression (Pedro Alves). Patch913: gdb-watchpoint-fork-fix.patch +# Fix --with-system-readline with readline-6.3 patch 5. +Patch914: gdb-readline-6.3.5.patch + %if 0%{!?rhel:1} || 0%{?rhel} > 6 # RL_STATE_FEDORA_GDB would not be found for: # Patch642: gdb-readline62-ask-more-rh.patch @@ -835,6 +838,7 @@ find -name "*.info*"|xargs rm -f %patch887 -p1 %patch911 -p1 %patch913 -p1 +%patch914 -p1 %patch848 -p1 %if 0%{!?el6:1} @@ -916,7 +920,7 @@ export LDFLAGS="%{?__global_ldflags} %{?_with_asan:-fsanitize=address}" %ifnarch %{ix86} alpha ppc s390 s390x x86_64 ppc64 ppc64le sparc sparcv9 sparc64 %{arm} aarch64 --disable-werror \ %else - --disable-werror \ + --enable-werror \ %endif --with-separate-debug-dir=/usr/lib/debug \ --disable-sim \ @@ -1320,6 +1324,10 @@ then fi %changelog +* Fri Jun 20 2014 Jan Kratochvil - 7.7.90.20140613-3.fc21 +- Fix --with-system-readline with readline-6.3 patch 5. + - Use --enable-werror again. + * Thu Jun 19 2014 Jan Kratochvil - 7.7.90.20140613-2.fc21 - Temporarily use --disable-werror for readline-6.3's deprecated 'VFunction'.