Index: src/gdb/gdbserver/linux-low.c =================================================================== --- src.orig/gdb/gdbserver/linux-low.c 2007-02-24 23:04:16.000000000 +0000 +++ src/gdb/gdbserver/linux-low.c 2007-02-24 23:05:54.000000000 +0000 @@ -1514,9 +1514,13 @@ } static void -linux_send_signal (int signum) +linux_send_signal (enum target_signal sig) { extern unsigned long signal_pid; + int signum = target_signal_to_host (sig); + + if (signum == 0) + return; if (cont_thread != 0 && cont_thread != -1) { Index: src/gdb/gdbserver/spu-low.c =================================================================== --- src.orig/gdb/gdbserver/spu-low.c 2007-02-24 23:04:16.000000000 +0000 +++ src/gdb/gdbserver/spu-low.c 2007-02-24 23:05:54.000000000 +0000 @@ -551,8 +551,13 @@ /* Send signal to inferior. */ static void -spu_send_signal (int signo) +spu_send_signal (enum target_signal sig) { + int signo = target_signal_to_host (sig); + + if (signo == 0) + return; + syscall (SYS_tkill, current_tid, signo); } Index: src/gdb/gdbserver/target.h =================================================================== --- src.orig/gdb/gdbserver/target.h 2007-02-24 23:04:16.000000000 +0000 +++ src/gdb/gdbserver/target.h 2007-02-24 23:05:54.000000000 +0000 @@ -128,7 +128,7 @@ void (*look_up_symbols) (void); /* Send a signal to the inferior process, however is appropriate. */ - void (*send_signal) (int); + void (*send_signal) (enum target_signal); /* Read auxiliary vector data from the inferior process. Index: src/gdb/gdbserver/remote-utils.c =================================================================== --- src.orig/gdb/gdbserver/remote-utils.c 2007-02-24 23:04:20.000000000 +0000 +++ src/gdb/gdbserver/remote-utils.c 2007-02-24 23:05:54.000000000 +0000 @@ -549,7 +549,7 @@ /* Check for an input interrupt while we're here. */ if (buf3[0] == '\003') - (*the_target->send_signal) (SIGINT); + (*the_target->send_signal) (TARGET_SIGNAL_INT); } while (buf3[0] != '+'); @@ -572,7 +572,7 @@ /* Come here when we get an input interrupt from the remote side. This interrupt should only be active while we are waiting for the child to do something. About the only thing that should come through is a ^C, which - will cause us to send a SIGINT to the child. */ + will cause us to send a TARGET_SIGNAL_INT to the child. */ static void input_interrupt (int unused) @@ -599,7 +599,7 @@ return; } - (*the_target->send_signal) (SIGINT); + (*the_target->send_signal) (TARGET_SIGNAL_INT); } } #endif