From fa0dd93ecaf11da5593b8132c95fb013c67b5b72 Mon Sep 17 00:00:00 2001 From: Kevin Buettner Date: Mon, 17 Feb 2014 18:15:56 -0700 Subject: [PATCH] Revise signal mapping function in GDB interface for RX sim. sim/rx/gdb-if.c had a function named `rx_signal_to_host'. This function mapped signal numbers used by the BSP to host signal numbers which, at one time a while back, were used by GDB as target signal numbers. This change updates the signal numbers returned to be those names prefixed with "GDB_SIGNAL_" as defined in include/gdb/signals.h. It also changes the name of the function somewhat to better match what the function currently does. I noticed that this function is not static - and there's no reason for it not to be - so I made it static too. * gdb-if.c (rx_signal_to_host): Rename to `rx_signal_to_gdb_signal'. Make static. Update all callers to use new name. Use signal names from include/gdb/signals.h. --- sim/rx/ChangeLog | 6 ++++++ sim/rx/gdb-if.c | 41 ++++++++++++----------------------------- 2 files changed, 18 insertions(+), 29 deletions(-) diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog index 8c5f84f7e93..dc2e3e50e10 100644 --- a/sim/rx/ChangeLog +++ b/sim/rx/ChangeLog @@ -1,3 +1,9 @@ +2014-02-17 Kevin Buettner + + * gdb-if.c (rx_signal_to_host): Rename to + `rx_signal_to_gdb_signal'. Make static. Update all callers + to use new name. Use signal names from include/gdb/signals.h. + 2013-09-23 Alan Modra * configure: Regenerate. diff --git a/sim/rx/gdb-if.c b/sim/rx/gdb-if.c index 57d179c4a2f..4c4434ce394 100644 --- a/sim/rx/gdb-if.c +++ b/sim/rx/gdb-if.c @@ -650,52 +650,35 @@ int siggnal; /* Given a signal number used by the RX bsp (that is, newlib), - return a host signal number. (Oddly, the gdb/sim interface uses - host signal numbers...) */ -int -rx_signal_to_host (int rx) + return a target signal number used by GDB. */ +static int +rx_signal_to_gdb_signal (int rx) { switch (rx) { case 4: -#ifdef SIGILL - return SIGILL; -#else - return SIGSEGV; -#endif + return GDB_SIGNAL_ILL; case 5: - return SIGTRAP; + return GDB_SIGNAL_TRAP; case 10: -#ifdef SIGBUS - return SIGBUS; -#else - return SIGSEGV; -#endif + return GDB_SIGNAL_BUS; case 11: - return SIGSEGV; + return GDB_SIGNAL_SEGV; case 24: -#ifdef SIGXCPU - return SIGXCPU; -#else - break; -#endif + return GDB_SIGNAL_XCPU; case 2: - return SIGINT; + return GDB_SIGNAL_INT; case 8: -#ifdef SIGFPE - return SIGFPE; -#else - break; -#endif + return GDB_SIGNAL_FPE; case 6: - return SIGABRT; + return GDB_SIGNAL_ABRT; } return 0; @@ -720,7 +703,7 @@ handle_step (int rc) else if (RX_STOPPED (rc)) { reason = sim_stopped; - siggnal = rx_signal_to_host (RX_STOP_SIG (rc)); + siggnal = rx_signal_to_gdb_signal (RX_STOP_SIG (rc)); } else { -- 2.30.2