--- gdb/signals/signals.c.orig Mon Jul 7 16:53:17 2008 +++ gdb/signals/signals.c Mon Jul 7 17:24:04 2008 @@ -229,13 +229,18 @@ char * target_signal_to_name (enum target_signal sig) { + static char signo_str[10]; + if ((int) sig >= TARGET_SIGNAL_FIRST && (int) sig <= TARGET_SIGNAL_LAST && signals[sig].name != NULL) return signals[sig].name; else + { /* I think the code which prints this will always print it along with the string, so no need to be verbose (very old comment). */ - return "?"; + snprintf(signo_str, 10, "%d", sig); + return signo_str; + } } /* Given a name, return its signal. */