From ef3e8cf7d1d7849c2fb466bdc62b56336739cb90 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 17 Feb 2014 18:24:10 -0500 Subject: sim: delete duplicate SIGINT handling Many of the simulators change the SIGINT handler. E.g., moxie/interp.c: sigsave = signal (SIGINT, interrupt); However, this is unnecessary. remote-sim.h already provides an API for asynchronously stopping a sim; and both gdb and the drivers (run.c and nrun.c at least, I didn't check the others) install a SIGINT handler which calls this method. URL: https://sourceware.org/bugzilla/show_bug.cgi?id=16450 Reported-by: Tom Tromey Signed-off-by: Mike Frysinger --- sim/sh/ChangeLog | 6 ++++++ sim/sh/interp.c | 13 ------------- 2 files changed, 6 insertions(+), 13 deletions(-) (limited to 'sim/sh') diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog index bb57ca1..8c1b09b 100644 --- a/sim/sh/ChangeLog +++ b/sim/sh/ChangeLog @@ -1,3 +1,9 @@ +2014-02-17 Mike Frysinger + + PR gdb/16450 + * interp.c (control_c): Delete. + (sim_resume): Delete signal(SIGINT) handling. + 2013-09-23 Alan Modra * configure: Regenerate. diff --git a/sim/sh/interp.c b/sim/sh/interp.c index fa77e5f..5689511 100644 --- a/sim/sh/interp.c +++ b/sim/sh/interp.c @@ -1261,16 +1261,6 @@ trap (i, regs, insn_ptr, memory, maskl, maskw, endianw) return 0; } -void -control_c (sig, code, scp, addr) - int sig; - int code; - char *scp; - char *addr; -{ - raise_exception (SIGINT); -} - static int div1 (R, iRn2, iRn1/*, T*/) int *R; @@ -1979,7 +1969,6 @@ sim_resume (sd, step, siggnal) register int endianw = global_endianw; int tick_start = get_now (); - void (*prev) (); void (*prev_fpe) (); register unsigned short *jump_table = sh_jump_table; @@ -1996,7 +1985,6 @@ sim_resume (sd, step, siggnal) register unsigned char *memory; register unsigned int sbit = ((unsigned int) 1 << 31); - prev = signal (SIGINT, control_c); prev_fpe = signal (SIGFPE, SIG_IGN); init_pointers (); @@ -2134,7 +2122,6 @@ sim_resume (sd, step, siggnal) } signal (SIGFPE, prev_fpe); - signal (SIGINT, prev); } int -- cgit v1.1