Module Name: src Committed By: martin Date: Fri Sep 6 19:57:32 UTC 2019
Modified Files: src/external/gpl3/gdb/dist/gdb [netbsd-9]: ChangeLog event-top.c inflow.c inflow.h ser-unix.c top.c Log Message: Pull up following revision(s) (requested by kamil in ticket #188): external/gpl3/gdb/dist/gdb/ser-unix.c: revision 1.2 external/gpl3/gdb/dist/gdb/inflow.c: revision 1.2 external/gpl3/gdb/dist/gdb/ChangeLog: revision 1.2 external/gpl3/gdb/dist/gdb/inflow.h: revision 1.2 external/gpl3/gdb/dist/gdb/event-top.c: revision 1.2 external/gpl3/gdb/dist/gdb/top.c: revision 1.2 Cherry-pick upstream GDB patch to fix SIGTTOU handling Fixes toolchain/54508 by Tobias Ulmer commit 766f883622ef008230250aa5aecef9fb9b29f233 Author: Alan Hayward <alan.hayward%arm.com@localhost> Date: Tue May 28 10:07:54 2019 +0100 Suppress SIGTTOU when handling errors Calls to error () can cause SIGTTOU to send gdb to the background. For example, on an Arm build: (gdb) b main Breakpoint 1 at 0x10774: file /build/gdb/testsuite/../../../src/binutils-gdb/gdb/testsuite/gdb.base/watchpoint.c, line 174. (gdb) r Starting program: /build/gdb/testsuite/outputs/gdb.base/watchpoint/watchpoint [1]+ Stopped ../gdb ./outputs/gdb.base/watchpoint/watchpoint localhost$ fg ../gdb ./outputs/gdb.base/watchpoint/watchpoint Cannot parse expression `.L1199 4@r4'. warning: Probes-based dynamic linker interface failed. Reverting to original interface. The SIGTTOU is raised whilst inside a syscall during the call to tcdrain. Fix is to use scoped_ignore_sigttou to ensure SIGTTOU is blocked. In addition fix include comments - job_control is not included via terminal.h gdb/ChangeLog: * event-top.c: Remove include comment. * inflow.c (class scoped_ignore_sigttou): Move from here... * inflow.h (class scoped_ignore_sigttou): ...to here. * ser-unix.c (hardwire_drain_output): Block SIGTTOU during drain. * top.c: Remove include comment. To generate a diff of this commit: cvs rdiff -u -r1.1.1.8 -r1.1.1.8.2.1 src/external/gpl3/gdb/dist/gdb/ChangeLog \ src/external/gpl3/gdb/dist/gdb/event-top.c \ src/external/gpl3/gdb/dist/gdb/ser-unix.c \ src/external/gpl3/gdb/dist/gdb/top.c cvs rdiff -u -r1.1.1.7 -r1.1.1.7.2.1 src/external/gpl3/gdb/dist/gdb/inflow.c \ src/external/gpl3/gdb/dist/gdb/inflow.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.