From e50637097d57e1852b0c26c212910b94f32a99a8 Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Wed, 15 Aug 2018 11:56:21 -1000 Subject: Update readline to 7.0.5 --- data/readline/_metadata/version | 2 +- data/readline/archarm.diff | 26 +++++----- data/readline/cflags.diff | 9 ++-- data/readline/lendiff.diff | 12 ----- data/readline/make.sh | 9 +++- data/readline/readline-6.0.tar.gz | Bin 2270818 -> 0 bytes data/readline/readline-7.0.tar.gz | Bin 0 -> 2910016 bytes data/readline/readline70-001 | 57 +++++++++++++++++++++ data/readline/readline70-002 | 103 ++++++++++++++++++++++++++++++++++++++ data/readline/readline70-003 | 40 +++++++++++++++ data/readline/readline70-004 | 47 +++++++++++++++++ data/readline/readline70-005 | 58 +++++++++++++++++++++ 12 files changed, 330 insertions(+), 33 deletions(-) delete mode 100644 data/readline/lendiff.diff delete mode 100644 data/readline/readline-6.0.tar.gz create mode 100644 data/readline/readline-7.0.tar.gz create mode 100644 data/readline/readline70-001 create mode 100644 data/readline/readline70-002 create mode 100644 data/readline/readline70-003 create mode 100644 data/readline/readline70-004 create mode 100644 data/readline/readline70-005 diff --git a/data/readline/_metadata/version b/data/readline/_metadata/version index e0ea36fee..2be8aeb6b 100644 --- a/data/readline/_metadata/version +++ b/data/readline/_metadata/version @@ -1 +1 @@ -6.0 +7.0.5 diff --git a/data/readline/archarm.diff b/data/readline/archarm.diff index 39c4ccb01..214d302a5 100644 --- a/data/readline/archarm.diff +++ b/data/readline/archarm.diff @@ -1,14 +1,12 @@ -diff -ru readline-6.0/support/shobj-conf readline-6.0+iPhone/support/shobj-conf ---- readline-6.0/support/shobj-conf 2009-01-04 19:32:42.000000000 +0000 -+++ readline-6.0+iPhone/support/shobj-conf 2009-04-09 02:24:20.000000000 +0000 -@@ -157,8 +157,8 @@ - SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)' - SHLIB_LIBSUFF='dylib' - -- SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`' -- SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' -+ SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only arm' -+ SHLIB_XLDFLAGS='-dynamiclib -arch_only arm -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - - SHLIB_LIBS='-lncurses' # see if -lcurses works on MacOS X 10.1 - ;; +diff -ur readline-6.3/support/shobj-conf readline-6.3+iPhone/support/shobj-conf +--- readline-6.3/support/shobj-conf 2014-02-23 16:06:29.000000000 -1000 ++++ readline-6.3+iPhone/support/shobj-conf 2018-07-25 14:53:48.000000000 -1000 +@@ -195,7 +195,7 @@ + *) + case "${host_os}" in + darwin[89]*|darwin1[012]*) +- SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`' ++ SHOBJ_ARCHFLAGS='' + ;; + *) # Mac OS X 10.9 (Mavericks) and later + SHOBJ_ARCHFLAGS= diff --git a/data/readline/cflags.diff b/data/readline/cflags.diff index ffbfbba1b..fb57024b2 100644 --- a/data/readline/cflags.diff +++ b/data/readline/cflags.diff @@ -1,7 +1,6 @@ -diff -ru readline-6.0/configure.in readline-6.0+iPhone/configure.in ---- readline-6.0/configure.in 2009-01-23 15:53:47.000000000 +0000 -+++ readline-6.0+iPhone/configure.in 2009-04-10 17:13:20.000000000 +0000 -@@ -101,17 +101,11 @@ +--- readline-6.3/configure.ac 2014-02-11 12:12:39.000000000 -1000 ++++ readline-6.3+iPhone/configure.ac 2018-07-25 14:56:59.000000000 -1000 +@@ -102,17 +102,11 @@ echo "Beginning configuration for readline-$LIBVERSION for ${host_cpu}-${host_vendor}-${host_os}" echo "" @@ -18,4 +17,4 @@ diff -ru readline-6.0/configure.in readline-6.0+iPhone/configure.in - AC_PROG_GCC_TRADITIONAL AC_PROG_INSTALL - AC_CHECK_PROG(AR, ar, , ar) + AC_CHECK_TOOL(AR, ar) diff --git a/data/readline/lendiff.diff b/data/readline/lendiff.diff deleted file mode 100644 index a7c485461..000000000 --- a/data/readline/lendiff.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff -ru readline-6.0/display.c readline-6.0+iPhone/display.c ---- readline-6.0/display.c 2009-01-04 19:32:32.000000000 +0000 -+++ readline-6.0+iPhone/display.c 2009-04-10 22:28:49.000000000 +0000 -@@ -1764,7 +1764,7 @@ - else - col_lendiff = lendiff; - --#if 0 -+#if 1 - if (col_lendiff) - #else - /* If we've already printed over the entire width of the screen, diff --git a/data/readline/make.sh b/data/readline/make.sh index 563dfea62..de036d83d 100644 --- a/data/readline/make.sh +++ b/data/readline/make.sh @@ -1,4 +1,11 @@ -pkg:setup +pkg:extract +cd * + +for ((x = 1; x != 6; ++x)); do + patch -p0 <"${PKG_DATA}/readline70-$(printf '%.3u\n' "$x")" +done + +pkg:patch autoconf pkg:configure ac_cv_func_strcoll_works=yes bash_cv_func_sigsetjmp=present bash_cv_func_ctype_nonascii=no bash_cv_must_reinstall_sighandlers=no bash_cv_func_strcoll_broken=yes make CFLAGS='-O2 -mthumb' diff --git a/data/readline/readline-6.0.tar.gz b/data/readline/readline-6.0.tar.gz deleted file mode 100644 index 3d3f6bded..000000000 Binary files a/data/readline/readline-6.0.tar.gz and /dev/null differ diff --git a/data/readline/readline-7.0.tar.gz b/data/readline/readline-7.0.tar.gz new file mode 100644 index 000000000..c46dd6803 Binary files /dev/null and b/data/readline/readline-7.0.tar.gz differ diff --git a/data/readline/readline70-001 b/data/readline/readline70-001 new file mode 100644 index 000000000..437a4401d --- /dev/null +++ b/data/readline/readline70-001 @@ -0,0 +1,57 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 7.0 +Patch-ID: readline70-001 + +Bug-Reported-by: Sean Zha +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2016-09/msg00107.html + +Bug-Description: + +Readline-7.0 changed the way the history list is initially allocated to reduce +the number of reallocations and copies. Users who set the readline +history-size variable to a very large number to essentially unlimit the size +of the history list will get memory allocation errors + +Patch (apply with `patch -p0'): + +*** ../readline-7.0/history.c 2015-12-28 13:50:31.000000000 -0500 +--- history.c 2016-09-30 14:28:40.000000000 -0400 +*************** +*** 58,61 **** +--- 58,63 ---- + #define DEFAULT_HISTORY_INITIAL_SIZE 502 + ++ #define MAX_HISTORY_INITIAL_SIZE 8192 ++ + /* The number of slots to increase the_history by. */ + #define DEFAULT_HISTORY_GROW_SIZE 50 +*************** +*** 308,312 **** + { + if (history_stifled && history_max_entries > 0) +! history_size = history_max_entries + 2; + else + history_size = DEFAULT_HISTORY_INITIAL_SIZE; +--- 310,316 ---- + { + if (history_stifled && history_max_entries > 0) +! history_size = (history_max_entries > MAX_HISTORY_INITIAL_SIZE) +! ? MAX_HISTORY_INITIAL_SIZE +! : history_max_entries + 2; + else + history_size = DEFAULT_HISTORY_INITIAL_SIZE; + +*** ../readline-7.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 0 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 1 diff --git a/data/readline/readline70-002 b/data/readline/readline70-002 new file mode 100644 index 000000000..ac76daec7 --- /dev/null +++ b/data/readline/readline70-002 @@ -0,0 +1,103 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 7.0 +Patch-ID: readline70-002 + +Bug-Reported-by: Hong Cho +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2016-12/msg00002.html + +Bug-Description: + +There is a race condition in add_history() that can be triggered by a fatal +signal arriving between the time the history length is updated and the time +the history list update is completed. A later attempt to reference an +invalid history entry can cause a crash. + +Patch (apply with `patch -p0'): + +*** ../readline-7.0-patched/history.c 2016-11-11 13:42:49.000000000 -0500 +--- history.c 2016-12-05 10:37:51.000000000 -0500 +*************** +*** 280,283 **** +--- 280,284 ---- + { + HIST_ENTRY *temp; ++ int new_length; + + if (history_stifled && (history_length == history_max_entries)) +*************** +*** 296,306 **** + /* Copy the rest of the entries, moving down one slot. Copy includes + trailing NULL. */ +- #if 0 +- for (i = 0; i < history_length; i++) +- the_history[i] = the_history[i + 1]; +- #else + memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY *)); +- #endif + + history_base++; + } +--- 297,303 ---- + /* Copy the rest of the entries, moving down one slot. Copy includes + trailing NULL. */ + memmove (the_history, the_history + 1, history_length * sizeof (HIST_ENTRY *)); + ++ new_length = history_length; + history_base++; + } +*************** +*** 316,320 **** + history_size = DEFAULT_HISTORY_INITIAL_SIZE; + the_history = (HIST_ENTRY **)xmalloc (history_size * sizeof (HIST_ENTRY *)); +! history_length = 1; + } + else +--- 313,317 ---- + history_size = DEFAULT_HISTORY_INITIAL_SIZE; + the_history = (HIST_ENTRY **)xmalloc (history_size * sizeof (HIST_ENTRY *)); +! new_length = 1; + } + else +*************** +*** 326,330 **** + xrealloc (the_history, history_size * sizeof (HIST_ENTRY *)); + } +! history_length++; + } + } +--- 323,327 ---- + xrealloc (the_history, history_size * sizeof (HIST_ENTRY *)); + } +! new_length = history_length + 1; + } + } +*************** +*** 332,337 **** + temp = alloc_history_entry ((char *)string, hist_inittime ()); + +! the_history[history_length] = (HIST_ENTRY *)NULL; +! the_history[history_length - 1] = temp; + } + +--- 329,335 ---- + temp = alloc_history_entry ((char *)string, hist_inittime ()); + +! the_history[new_length] = (HIST_ENTRY *)NULL; +! the_history[new_length - 1] = temp; +! history_length = new_length; + } + +*** ../readline-7.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 1 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 2 diff --git a/data/readline/readline70-003 b/data/readline/readline70-003 new file mode 100644 index 000000000..a19cae6ef --- /dev/null +++ b/data/readline/readline70-003 @@ -0,0 +1,40 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 7.0 +Patch-ID: readline70-003 + +Bug-Reported-by: Frédéric Brière +Bug-Reference-ID: <20170120180724.7ydq7fb2hsp366dj@fabul.fbriere.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2017-01/msg00002.html + +Bug-Description: + +Readline-7.0 uses pselect(2) to allow readline to handle signals that do not +interrupt read(2), such as SIGALRM, before reading another character. The +signal mask used in the pselect call did not take into account signals the +calling application blocked before calling readline(). + +Patch (apply with `patch -p0'): + +*** ../readline-7.0-patched/input.c 2016-08-30 10:21:47.000000000 -0400 +--- input.c 2017-01-23 10:21:56.000000000 -0500 +*************** +*** 514,517 **** +--- 514,518 ---- + #if defined (HAVE_PSELECT) + sigemptyset (&empty_set); ++ sigprocmask (SIG_BLOCK, (sigset_t *)NULL, &empty_set); + FD_ZERO (&readfds); + FD_SET (fileno (stream), &readfds); +*** ../readline-7.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 2 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 3 diff --git a/data/readline/readline70-004 b/data/readline/readline70-004 new file mode 100644 index 000000000..e2f680608 --- /dev/null +++ b/data/readline/readline70-004 @@ -0,0 +1,47 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 7.0 +Patch-ID: readline70-004 + +Bug-Reported-by: Kieran Grant +Bug-Reference-ID: +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2018-02/msg00002.html + +Bug-Description: + +With certain values for PS1, especially those that wrap onto three or more +lines, readline will miscalculate the number of invisible characters, +leading to crashes and core dumps. + +Patch (apply with `patch -p0'): + +*** ../readline-7.0.3/display.c 2016-07-28 14:49:33.000000000 -0400 +--- display.c 2018-02-03 19:19:35.000000000 -0500 +*************** +*** 772,776 **** + wadjust = (newlines == 0) + ? prompt_invis_chars_first_line +! : ((newlines == prompt_lines_estimate) ? wrap_offset : prompt_invis_chars_first_line); + + /* fix from Darin Johnson for prompt string with +--- 788,794 ---- + wadjust = (newlines == 0) + ? prompt_invis_chars_first_line +! : ((newlines == prompt_lines_estimate) +! ? (wrap_offset - prompt_invis_chars_first_line) +! : 0); + + /* fix from Darin Johnson for prompt string with +*** ../readline-7.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 3 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 4 + diff --git a/data/readline/readline70-005 b/data/readline/readline70-005 new file mode 100644 index 000000000..99753224c --- /dev/null +++ b/data/readline/readline70-005 @@ -0,0 +1,58 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 7.0 +Patch-ID: readline70-005 + +Bug-Reported-by: Nuzhna Pomoshch +Bug-Reference-ID: <1317167476.1492079.1495999776464@mail.yahoo.com> +Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2017-05/msg00005.html + +Bug-Description: + +There are cases where a failing readline command (e.g., delete-char at the end +of a line) can cause a multi-character key sequence to `back up' and attempt +to re-read some of the characters in the sequence. + +Patch (apply with `patch -p0'): + +*** ../readline-7.0/readline.c 2016-04-20 15:53:52.000000000 -0400 +--- readline.c 2018-05-26 17:19:00.000000000 -0400 +*************** +*** 1058,1062 **** + r = _rl_dispatch (ANYOTHERKEY, m); + } +! else if (r && map[ANYOTHERKEY].function) + { + /* We didn't match (r is probably -1), so return something to +--- 1056,1060 ---- + r = _rl_dispatch (ANYOTHERKEY, m); + } +! else if (r < 0 && map[ANYOTHERKEY].function) + { + /* We didn't match (r is probably -1), so return something to +*************** +*** 1070,1074 **** + return -2; + } +! else if (r && got_subseq) + { + /* OK, back up the chain. */ +--- 1068,1072 ---- + return -2; + } +! else if (r < 0 && got_subseq) /* XXX */ + { + /* OK, back up the chain. */ +*** ../readline-7.0/patchlevel 2013-11-15 08:11:11.000000000 -0500 +--- patchlevel 2014-03-21 08:28:40.000000000 -0400 +*************** +*** 1,3 **** + # Do not edit -- exists only for use by patch + +! 4 +--- 1,3 ---- + # Do not edit -- exists only for use by patch + +! 5 + -- cgit v1.2.3