binutils-gdb/gdb/testsuite/gdb.base
Patrick Palka 077836f7cf Have SIGTERM promptly quit GDB even when the dummy target is active
GDB currently does not promptly quit after receiving a SIGTERM while no
proper target is active.  This is because in handle_sigterm we currently
look at target_can_async_p to determine whether to asynchronously quit
GDB using an async signal handler or to asynchronously quit using the
quit flag.  However, target_can_async_p is always false under the dummy
target, so under this target we always use the quit flag and not the
async signal handler to signal that GDB should quit.  So GDB won't quit
until a code path that checks the quit flag is executed.

To fix this issue, this patch makes the SIGTERM handler no longer
inspect target_can_async_p, and instead makes the handler
unconditionally set the quit flag _and_ mark the corresponding async
signal handler, so that if the target is async (or if it's the dummy
target) then we will likely quit through the async signal handler, and
if it's not async then we will likely quit through the quit flag.  This
redundant approach is similar to how we handle SIGINT.

gdb/ChangeLog:

	* event-top.c (handle_sigterm): Don't inspect
	target_can_async_p.  Always set the quit flag and always mark
	the async signal handler.

gdb/testsuite/ChangeLog:

	* gdb.base/gdb-sigterm-2.exp: New test.
2015-07-27 12:44:12 -04:00
..
comp-dir/subdir
gdbinit-history
a2-run.exp
advance.c
advance.exp
alias.exp
all-bin.exp
all-types.c
annota1.c
annota1.exp
annota3.c
annota3.exp
annota-input-while-running.c
annota-input-while-running.exp
anon.c
anon.exp
args.c
args.exp
argv0-symlink.c
argv0-symlink.exp
arithmet.exp
arrayidx.c
arrayidx.exp
assign.exp
async-shell.c
async-shell.exp
async.c
async.exp
attach2.c
attach-pie-misread.c
attach-pie-misread.exp
attach-pie-noexec.c
attach-pie-noexec.exp
attach-twice.c
attach-twice.exp
attach-wait-input.c
attach-wait-input.exp
attach.c
attach.exp
auto-connect-native-target.c
auto-connect-native-target.exp
auto-load-script
auto-load.c
auto-load.exp
auxv.c
auxv.exp
average.c
bang.exp
bar.c
batch-preserve-term-settings.c
batch-preserve-term-settings.exp
baz.c
bfp-test.c
bfp-test.exp
bg-execution-repeat.c
bg-execution-repeat.exp
bigcore.c
bigcore.exp
bitfields2.c
bitfields2.exp
bitfields.c
bitfields.exp
bitops.exp
bp-cmds-execution-x-script.c
bp-cmds-execution-x-script.exp
bp-cmds-execution-x-script.gdb
bp-permanent.c
bp-permanent.exp
branches.c
break1.c
break-always.c
break-always.exp
break-caller-line.c
break-caller-line.exp
break-entry.exp
break-idempotent.c
break-idempotent.exp
break-inline.c
break-inline.exp
break-interp-lib.c
break-interp-main.c
break-interp.exp
break-main-file-remove-fail.c
break-main-file-remove-fail.exp
break-on-linker-gcd-function.cc
break-on-linker-gcd-function.exp
break-probes-solib.c
break-probes.c
break-probes.exp
break-unload-file.c
break-unload-file.exp
break.c
break.exp
breakpoint-in-ro-region.c
breakpoint-in-ro-region.exp
breakpoint-shadow.c
breakpoint-shadow.exp
call-ar-st.c
call-ar-st.exp
call-rt-st.c
call-rt-st.exp
call-sc.c
call-sc.exp
call-signal-resume.exp
call-signals.c
call-strs.c
call-strs.exp
callexit.c
callexit.exp
callfuncs.c
callfuncs.exp
catch-gdb-caused-signals.c
catch-gdb-caused-signals.exp
catch-load-so.c
catch-load.c
catch-load.exp
catch-signal-fork.c
catch-signal-fork.exp
catch-signal.c
catch-signal.exp
catch-syscall.c
catch-syscall.exp Call gdb_exit before gdb_skip_xml_test on gdb.base/catch-syscall.exp 2015-07-24 16:46:49 -04:00
charset-malloc.c
charset.c
charset.exp
checkpoint.c
checkpoint.exp
chng-syms.c
chng-syms.exp
code_elim1.c
code_elim2.c
code_elim.exp
code-expr.exp
commands.exp
compare-sections.c
compare-sections.exp
completion.exp
complex.c
complex.exp
comprdebug.exp
cond-eval-mode.c
cond-eval-mode.exp
cond-expr.exp
condbreak-call-false.c
condbreak-call-false.exp
condbreak.exp
consecutive-step-over.c
consecutive-step-over.exp
consecutive.c
consecutive.exp
constvars.c
constvars.exp
continue-all-already-running.c
continue-all-already-running.exp
coredump-filter.c
coredump-filter.exp
corefile.exp
coremaker2.c
coremaker.c
ctxobj-f.c
ctxobj-m.c
ctxobj-v.c
ctxobj.exp
cursal.c
cursal.exp
cvexpr.c
cvexpr.exp
d10v.ld
d10vovly.c
dbx.exp
dcache-line-read-error.c
dcache-line-read-error.exp
debug-expr.c
debug-expr.exp
default.exp
define.exp
del.c
del.exp
detach.exp
dfp-exprs.exp
dfp-test.c
dfp-test.exp
disabled-location.c
disabled-location.exp
disasm-end-cu-1.c
disasm-end-cu-2.c
disasm-end-cu.exp
disp-step-fork.c
disp-step-syscall.exp New proc is_aarch32_target 2015-07-07 16:58:19 +01:00
disp-step-vfork.c
display.c
display.exp
dmsym_main.c
dmsym.c
dmsym.exp
double-prompt-target-event-error.c
double-prompt-target-event-error.exp
dprintf-bp-same-addr.c
dprintf-bp-same-addr.exp
dprintf-detach.c
dprintf-detach.exp
dprintf-next.c
dprintf-next.exp
dprintf-non-stop.c
dprintf-non-stop.exp
dprintf-pending.c
dprintf-pending.exp
dprintf-pendshr.c
dprintf.c
dprintf.exp
dtrace-probe.c
dtrace-probe.d
dtrace-probe.exp
dump.c
dump.exp
dup-sect.exp
dup-sect.S
duplicate-bp.c
duplicate-bp.exp
echo.exp
empty_exe.exp
ena-dis-br.exp
ending-run.c
ending-run.exp
enum_cond.c
enum_cond.exp
enumval.c
enumval.exp
environ.exp
eu-strip-infcall.c
eu-strip-infcall.exp
eval-avoid-side-effects.exp
eval-skip.exp
eval.exp
exe-lock.exp
execd-prog.c
execl-update-breakpoints.c
execl-update-breakpoints.exp
execution-termios.c
execution-termios.exp
exitsignal.exp
expand-psymtabs.c
expand-psymtabs.exp
exprs.c
exprs.exp
fileio.c
fileio.exp
filesym.c
filesym.exp
find-unmapped.c
find-unmapped.exp
find.c
find.exp
finish.exp
fixsection.c
fixsection.exp
fixsectshr.c
float.c
float.exp New proc is_aarch64_target 2015-07-07 16:58:20 +01:00
foll-exec.c
foll-exec.exp
foll-fork.c
foll-fork.exp
foll-vfork-exit.c
foll-vfork.c
foll-vfork.exp
foo.c
fortran-sym-case.c
fortran-sym-case.exp
frame-args.c
frame-args.exp
freebpcmd.c
freebpcmd.exp
fullname.c
fullname.exp
fullpath-expand-func.c
fullpath-expand.c
fullpath-expand.exp
func-ptr.c
func-ptr.exp
func-ptrs.c
func-ptrs.exp
funcargs.c
funcargs.exp
gcore-buffer-overflow.c
gcore-buffer-overflow.exp
gcore-relro-lib.c
gcore-relro-main.c
gcore-relro-pie.c
gcore-relro-pie.exp
gcore-relro.exp
gcore.c
gcore.exp
gdb1056.exp
gdb1090.c
gdb1090.exp
gdb1250.c
gdb1250.exp
gdb1555-main.c
gdb1555.c
gdb1555.exp
gdb1821.c
gdb1821.exp
gdb11530.c
gdb11530.exp
gdb11531.c
gdb11531.exp
gdb_history
gdb-sigterm-2.exp Have SIGTERM promptly quit GDB even when the dummy target is active 2015-07-27 12:44:12 -04:00
gdb-sigterm.c
gdb-sigterm.exp
gdbhistsize-history.exp
gdbindex-stabs-dwarf.c
gdbindex-stabs.c
gdbindex-stabs.exp
gdbinit-history.exp
gdbvars.c
gdbvars.exp
global-var-nested-by-dso-solib1.c
global-var-nested-by-dso-solib2.c
global-var-nested-by-dso.c
global-var-nested-by-dso.exp
gnu_vector.c
gnu_vector.exp gnu_vector.exp: Skip infcall tests on x86/x86_64 2015-07-10 10:36:02 +02:00
gnu-debugdata.c
gnu-debugdata.exp
gnu-ifunc-lib.c
gnu-ifunc.c
gnu-ifunc.exp
grbx.c
hashline1.exp
hashline2.exp
hashline3.exp
hbreak2.exp
hbreak-in-shr-unsupported-shr.c
hbreak-in-shr-unsupported.c
hbreak-in-shr-unsupported.exp
hbreak-unmapped.c
hbreak-unmapped.exp
hbreak.c
hbreak.exp
help.exp
history-duplicates.exp Add option to remove duplicate command history entries 2015-06-26 11:05:56 -04:00
hook-stop-continue.c
hook-stop-continue.exp
hook-stop-frame.c
hook-stop-frame.exp
huge.c
huge.exp
ifelse.exp
included.c
included.exp
included.h
inferior-died.c
inferior-died.exp
infnan.c
infnan.exp
info-fun-solib.c
info-fun.c
info-fun.exp
info-macros.c
info-macros.exp
info-os.c
info-os.exp
info-proc.exp
info-shared-solib1.c
info-shared-solib2.c
info-shared.c
info-shared.exp
info-target.exp
infoline.c
infoline.exp
int-type.c
interact.exp
interp.c
interp.exp
interrupt-noterm.c
interrupt-noterm.exp
interrupt.c
interrupt.exp
jit-dlmain.c
jit-main.c
jit-simple.c
jit-simple.exp
jit-so.exp
jit-solib.c
jit.exp
jump.c
jump.exp
kill-after-signal.c
kill-after-signal.exp
killed-outside.c Add test that exercises the inferior being killed while stopped under GDB 2015-07-14 10:55:05 +01:00
killed-outside.exp Add test that exercises the inferior being killed while stopped under GDB 2015-07-14 10:55:05 +01:00
label.c
label.exp
langs0.c
langs1.c
langs1.f
langs2.c
langs2.cxx
langs.exp
ldbl_e308.c
ldbl_e308.exp
line-symtabs.c
line-symtabs.exp
line-symtabs.h
lineinc1.h
lineinc2.h
lineinc3.h
lineinc.c
lineinc.exp
linespecs.exp
list0.c
list0.h
list1.c
list.exp
logical.exp
long_long.c
long_long.exp
longest-types.c
longest-types.exp
longjmp.c
longjmp.exp
m32r.ld
m32rovly.c
macscp1.c
macscp2.h
macscp3.h
macscp4.h
macscp.exp
maint.exp
Makefile.in
memattr.c
memattr.exp
mips_pro.c
mips_pro.exp
miscexprs.c
miscexprs.exp
morestack.c
morestack.exp
moribund-step.exp
multi-forks.c
multi-forks.exp
multi-line-starts-subshell.exp
nextoverexit.c
nextoverexit.exp
nodebug.c
nodebug.exp
nofield.c
nofield.exp
noreturn-finish.c
noreturn-finish.exp
noreturn-return.c
noreturn-return.exp
normal.c
nostdlib.c
nostdlib.exp
opaque0.c
opaque1.c
opaque.exp
overlays.c
overlays.exp
ovlymgr.c
ovlymgr.h
page.exp
paginate-after-ctrl-c-running.c
paginate-after-ctrl-c-running.exp
paginate-bg-execution.c
paginate-bg-execution.exp
paginate-execution-startup.c
paginate-execution-startup.exp
paginate-inferior-exit.c
paginate-inferior-exit.exp
pc-fp.c
pc-fp.exp
pending.c
pending.exp
pendshr.c
permissions.exp
pi.txt
pie-execl.c
pie-execl.exp
pointers.c
pointers.exp
pr10179-a.c
pr10179-b.c
pr10179.exp
pr11022.c
pr11022.exp
prelink-lib.c
prelink.c
prelink.exp
print-file-var-lib1.c
print-file-var-lib2.c
print-file-var-main.c
print-file-var.exp
print-symbol-loading-lib.c
print-symbol-loading-main.c
print-symbol-loading.exp
printcmds.c
printcmds.exp
prologue-include.c
prologue-include.exp
prologue-include.h
prologue.c
prologue.exp
psymtab1.c
psymtab2.c
psymtab.exp
ptr-typedef.c
ptr-typedef.exp
ptype1.c
ptype.c
ptype.exp
radix.exp
random-signal.c
random-signal.exp
randomize.c
randomize.exp
range-stepping.c
range-stepping.exp [testsuite] Skip gdb.trace/range-stepping.exp test case if not supported 2015-07-15 14:33:32 +01:00
readline-ask.c
readline-ask.exp
readline-ask.inputrc
readline.exp
realname-expand-real.c
realname-expand.c
realname-expand.exp
recpar.c
recpar.exp
recurse.c
recurse.exp
relational.exp
relativedebug.c
relativedebug.exp
relocate.c
relocate.exp
remote.c
remote.exp
remotetimeout.exp
reread1.c
reread2.c
reread.exp
restore.c
restore.exp
return2.c
return2.exp
return-nodebug1.c
return-nodebug.c
return-nodebug.exp
return.c
return.exp
run.c
save-bp.c
save-bp.exp
savedregs.c
savedregs.exp
scope0.c
scope1.c
scope.exp
sect-cmd.exp
segv.c
sep-proc.c
sep.c
sep.exp
sepdebug2.c
sepdebug.c
sepdebug.exp
sepsymtab.c
sepsymtab.exp
set-lang-auto.exp
set-noassign.exp
setshow.c
setshow.exp
setvar.c
setvar.exp
shell.exp
shlib-call.exp
shmain.c
shr1.c
shr2.c
shreloc1.c
shreloc2.c
shreloc.c
shreloc.exp
sigall.c
sigall.exp
sigaltstack.c
sigaltstack.exp Unbreak nios2-*-linux* GDB testing. 2015-07-15 08:34:09 -07:00
sigbpt.c
sigbpt.exp Unbreak nios2-*-linux* GDB testing. 2015-07-15 08:34:09 -07:00
sigchld.c
sigchld.exp
siginfo-addr.c
siginfo-addr.exp
siginfo-infcall.c
siginfo-infcall.exp
siginfo-obj.c
siginfo-obj.exp
siginfo-thread.c
siginfo-thread.exp
siginfo.c
siginfo.exp Unbreak nios2-*-linux* GDB testing. 2015-07-15 08:34:09 -07:00
signals.c
signals.exp
signest.c
signest.exp
signull.c
signull.exp
sigrepeat.c
sigrepeat.exp
sigstep.c
sigstep.exp Unbreak nios2-*-linux* GDB testing. 2015-07-15 08:34:09 -07:00
sizeof.c
sizeof.exp
skip1.c
skip-solib-lib.c
skip-solib-main.c
skip-solib.exp
skip.c
skip.exp
so-disc-shr.c
so-impl-ld.c
so-impl-ld.exp
so-indr-cl.c
so-indr-cl.exp
solib1.c
solib2.c
solib-corrupted.exp
solib-disc.c
solib-disc.exp
solib-display-lib.c
solib-display-main.c
solib-display.exp
solib-nodir.exp
solib-overlap-lib.c
solib-overlap-main.c
solib-overlap.exp
solib-search-lib1.c
solib-search-lib2.c
solib-search.c
solib-search.exp
solib-search.h
solib-symbol-lib.c
solib-symbol-main.c
solib-symbol.exp
solib-weak.c
solib-weak.exp
solib.c
solib.exp
source-dir.exp
source-error.gdb
source-execution.c
source-execution.exp
source-execution.gdb
source-nofile.gdb
source-test.gdb
source.exp
spu.ld
ss.h
sss-bp-on-user-bp-2.c
sss-bp-on-user-bp-2.exp
sss-bp-on-user-bp.c
sss-bp-on-user-bp.exp
stack-checking.c
stack-checking.exp
stale-infcall.c
stale-infcall.exp
stap-probe.c
stap-probe.exp
start.c
start.exp
statistics.exp
step-break.c
step-break.exp
step-bt.c
step-bt.exp
step-line.c
step-line.exp
step-line.inp
step-over-no-symbols.exp
step-resume-infcall.c
step-resume-infcall.exp
step-sw-breakpoint-adjust-pc.c
step-sw-breakpoint-adjust-pc.exp
step-symless.c
step-symless.exp
step-test.c
step-test.exp
store.c
store.exp
structs2.c
structs2.exp
structs3.c
structs3.exp
structs.c
structs.exp
subst.exp
sum.c
sym-file-lib.c
sym-file-loader.c
sym-file-loader.h
sym-file-main.c
sym-file.exp
symbol-without-target_section.c
symbol-without-target_section.exp
symtab-search-order-1.c
symtab-search-order-shlib-1.c
symtab-search-order.c
symtab-search-order.exp
term.c
term.exp
testenv.c
testenv.exp
trace-commands.exp
tui-layout.exp
twice.c
twice.exp
type-opaque-lib.c
type-opaque-main.c
type-opaque.exp
ui-redirect.exp
unload.c
unload.exp
unloadshr2.c
unloadshr.c
until-nodebug.exp
until.exp
unwindonsignal.c
unwindonsignal.exp
valgrind-db-attach.c
valgrind-db-attach.exp
valgrind-infcall.c
valgrind-infcall.exp
value-double-free.c
value-double-free.exp
varargs.c
varargs.exp
vdso-warning.c
vdso-warning.exp
vforked-prog.c
vla-datatypes.c
vla-datatypes.exp
vla-ptr.c
vla-ptr.exp
vla-sideeffect.c
vla-sideeffect.exp
vla-stub-define.c
vla-stub.c
vla-stub.exp
volatile.exp
watch_thread_num.c
watch_thread_num.exp
watch-bitfields.c
watch-bitfields.exp
watch-cond-infcall.c
watch-cond-infcall.exp
watch-cond.c
watch-cond.exp
watch-non-mem.c
watch-non-mem.exp
watch-read.c
watch-read.exp
watch-vfork.c
watch-vfork.exp
watchpoint-cond-gone-stripped.c
watchpoint-cond-gone.c
watchpoint-cond-gone.exp
watchpoint-delete.c
watchpoint-delete.exp
watchpoint-hw-hit-once.c
watchpoint-hw-hit-once.exp
watchpoint-hw.c
watchpoint-hw.exp
watchpoint-reuse-slot.c
watchpoint-reuse-slot.exp
watchpoint-solib-shr.c
watchpoint-solib.c
watchpoint-solib.exp
watchpoint-stops-at-right-insn.c
watchpoint-stops-at-right-insn.exp
watchpoint.c
watchpoint.exp Clean up testsuite compiler_info support. 2015-07-24 15:32:45 -07:00
watchpoints.c
watchpoints.exp
wchar.c
wchar.exp
weaklib1.c
weaklib2.c
whatis-exp.exp
whatis.c
whatis.exp