Can't interrupt process without controlling terminal on Solaris (PR gdb/8527)
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 28 Feb 2019 15:09:05 +0000 (16:09 +0100)
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 28 Feb 2019 15:09:05 +0000 (16:09 +0100)
commit92137da015d301fec4b7878467d053d379a2f489
tree12f1796d93cb107afe90fdf6a750253c786b1527
parenteed5def8d0b7b64c3592be75a9b22bb4ce1a78f4
Can't interrupt process without controlling terminal on Solaris (PR gdb/8527)

If gdb attaches to a process that either has no controlling terminal,
or the controlling terminal differs from the one gdb is running under,
break/^C doesn't interrupt the debugged process on Solaris.

Fixed as follows, analogous to what all all other targets do.  Patch from
the PR, recently re-submitted by Brian Vandenberg.

Tested on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and
x86_64-pc-linux-gnu.

2019-02-28  Brian Vandenberg  <phantall@gmail.com>
    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

gdb:
PR gdb/8527
* procfs.c (proc_wait_for_stop): Wrap write of PCWSTOP in
set_sigint_trap, clear_sigint_trap.

gdb/testsuite:
PR gdb/8527
* gdb.base/interrupt-daemon-attach.c,
gdb.base/interrupt-daemon-attach.exp: New test.
gdb/ChangeLog
gdb/procfs.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/interrupt-daemon-attach.c [new file with mode: 0644]
gdb/testsuite/gdb.base/interrupt-daemon-attach.exp [new file with mode: 0644]