This is the mail archive of the gdb-prs@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]

[Bug gdb/20604] Using quit() causes a infinity loop which and can not exit gdb


https://sourceware.org/bugzilla/show_bug.cgi?id=20604

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=36cf1806a87fdd208c704d0768af232ce35aae9f

commit 36cf1806a87fdd208c704d0768af232ce35aae9f
Author: Tom Tromey <tom@tromey.com>
Date:   Wed Sep 14 11:48:31 2016 -0600

    PR gdb/20604 - fix "quit" when an invalid expression is used

    This fixes PR gdb/20604.  The bug here is that passing an invalid
    expression to "quit" -- e.g., "quit()" -- causes gdb to enter a
    non-functioning state.

    The immediate problem is that quit_force resets the terminal before
    evaluating the expression.  However, it seemed to me that it doesn't
    really make sense to pass the quit_force argument to kill_or_detach
    (which passes it to to_detach), first because conflating the exit
    status for "quit" and the signal to pass when detaching doesn't make
    sense, and second because to_detach implementations generally only
    accept a constant here, while "quit" accepts an expression.  So, I
    removed that.

    As an aside, I think the "detach SIGNO" functionality is not
    documented.

    Built and regtested on x86-64 Fedora 24.

    2016-09-21  Tom Tromey  <tom@tromey.com>

        PR gdb/20604:
        * top.h (quit_force): Update.
        * top.c (quit_force): Changed type of first argument.  Don't
        evaluate expression.  Pass NULL to kill_or_detach.
        * cli/cli-cmds.c (quit_command): Evaluate "args".

    2016-09-21  Tom Tromey  <tom@tromey.com>

        PR gdb/20604:
        * gdb.base/quit.exp: New file.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

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