This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Sync readline/ to version 7.0 alpha


On Tue, Jul 14, 2015 at 10:35 PM, Patrick Palka <patrick@parcs.ath.cx> wrote:
> This patch syncs our upstream copy of readline from version 6.2 to the
> latest version, 7.0 alpha (released July 10 2015).
>
> I essentially copied what was done the last time readline was synced,
> when Jan updated to readline 6.2 in 2011:
> http://sourceware.org/ml/gdb-patches/2011-05/msg00003.html
>
> Procedure:
>
> 1. I extracted the readline-7.0-alpha tarball on top of readline/.
> 2. I deleted all the new files under doc/ that were deliberately omitted
>    before.
> 3. I regenerated readline/configure and readline/examples/rlfe/configure
>    using autoconf 2.64.  No other configure files need regenerating.
> 4. I updated the function gdb_printable_part in completer.c with a
>    trivial change made to the readline function it is based off of,
>    printable_part in readline/complete.c.  There is more work to be done in
>    completer.c to sync it with readline/complete.c, but it is non-trivial
>    and should probably be done separately anyway.
>
> Local patches that had to be reapplied:
>
>     None.  readline 7.0 alpha contains all of our local readline
>     patches.  [This is especially convenient because it allows us forego
>     a consensus on how to manage local patches across readline syncs :)]
>
> New files in readline/:
>
>     colors.{c,h}
>     examples/{hist_erasedups,hist_purgecmd,rl-callbacktest,rlbasic}.c
>     parse-colors.{c,h}
>     readline.pc.in
>     configure.ac
>
> Deleted files in readline/:
>
>     configure.in
>
> Regressions:
>
> After the sync there is one testsuite regression, the test
> "signal SIGINT" in gdb.gdb/selftest.exp which now FAILs.  Previously,
> the readline 6.2 SIGINT handler would temporarily reinstall the
> underlying application's SIGINT handler and immediately re-raise SIGINT
> so that the orginal handler gets invoked.  But now (since readline 6.3)
> its SIGINT handler does not re-raise SIGINT or directly invoke the
> original handler; it now sets a flag marking that SIGINT was raised, and
> waits until readline explicitly has control to call the application's
> SIGINT handler.  Anyway, because SIGINT is no longer re-raised from
> within readline's SIGINT handler, doing "signal SIGINT" with a stopped
> inferior gdb process will no longer resume and then immediately stop the
> process (since there is no 2nd SIGINT to immediately catch).  Instead,
> the inferior gdb process will now just print "Quit" and continue to run.
> So with this commit, this particular test case is adjusted to reflect
> this change in behavior (we now have to send a 2nd SIGINT manually to
> stop it).
>
> Aside from this one testsuite regression, I personally noticed no
> regression in user-visible behavior.  Though I only tested on x86_64
> and on i686 Debian Stretch.
>
> Getting this kind of change in at the start of the GDB 7.11 development
> cycle will allow us to get a lot of passive testing from developers and
> from bleeding-edge users.  [And as new versions of readline 7.0 are
> released, I will try to sync our local copy promptly.]
>
> Since the patch is too big to send inline, I pushed it to
> users/ppalka/readline-7.0-update.  Hopefully that is more convenient that
> sending it as a compressed attachment.
>
> readline/ChangeLog.gdb:
>
>         Import readline 7.0 alpha
>         * configure: Regenerate.
>         * examples/rlfe/configure: Regenerate.
>
> gdb/ChangeLog:
>
>         * completer.c (gdb_printable_part): Sync with readline function
>         it is based off of.
>
> gdb/testsuite/ChangeLog:
>
>         * gdb.gdb/selftest.exp (test_with_self): Update test to now
>         expect the GDB inferior to no longer immediately stop after
>         being resumed with "signal SIGINT".

Ping!


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]