diff options
author | Daniel Jacobowitz <dan@debian.org> | 2002-06-09 19:42:11 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2002-06-09 19:42:11 +0000 |
commit | 22dd5c41b02f1fefae0e8eaae1ff2ad6e01bc6a1 (patch) | |
tree | 6ca174f7a93a58c5bc9892bd1d5444a67ca2ed99 /gdb/signals | |
parent | b09b0aec647f50e2a32b3bbf49ff0b6aa464c8b8 (diff) | |
download | gdb-22dd5c41b02f1fefae0e8eaae1ff2ad6e01bc6a1.tar.gz |
2002-06-09 Daniel Jacobowitz <drow@mvista.com>
* signals/signals.c (target_signal_from_host): Fix #ifdef
SIGRTMIN case.
(do_target_signal_to_host): Likewise.
Diffstat (limited to 'gdb/signals')
-rw-r--r-- | gdb/signals/signals.c | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/gdb/signals/signals.c b/gdb/signals/signals.c index 643e450fbbe..0057e60e377 100644 --- a/gdb/signals/signals.c +++ b/gdb/signals/signals.c @@ -498,8 +498,11 @@ target_signal_from_host (int hostsig) if (33 <= hostsig && hostsig <= 63) return (enum target_signal) (hostsig - 33 + (int) TARGET_SIGNAL_REALTIME_33); - else if (hostsig == 64) - return TARGET_SIGNAL_REALTIME_64; + else if (hostsig == 32) + return TARGET_SIGNAL_REALTIME_32; + else if (64 <= hostsig && hostsig <= 127) + return (enum target_signal) + (hostsig - 64 + (int) TARGET_SIGNAL_REALTIME_64); else error ("GDB bug: target.c (target_signal_from_host): unrecognized real-time signal"); } @@ -784,8 +787,21 @@ do_target_signal_to_host (enum target_signal oursig, if (retsig >= SIGRTMIN && retsig <= SIGRTMAX) return retsig; } - else if (oursig == TARGET_SIGNAL_REALTIME_64) - return 64; + else if (oursig == TARGET_SIGNAL_REALTIME_32) + { + /* TARGET_SIGNAL_REALTIME_32 isn't contiguous with + TARGET_SIGNAL_REALTIME_33. It is 32 by definition. */ + return 32; + } + else if (oursig >= TARGET_SIGNAL_REALTIME_64 + && oursig <= TARGET_SIGNAL_REALTIME_127) + { + /* This block of signals is continuous, and + TARGET_SIGNAL_REALTIME_64 is 64 by definition. */ + int retsig = + (int) oursig - (int) TARGET_SIGNAL_REALTIME_64 + 64; + return retsig; + } #endif *oursig_ok = 0; return 0; |