diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 2000-09-28 07:48:14 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 2000-09-28 07:48:14 +0000 |
commit | 5ef227419afb623fdefbf072d66c0e330bff9b3d (patch) | |
tree | f6c3972b1204b8c4844c2597fbb7517fe2257020 /gdb/target.c | |
parent | 27df9f40e4e03e65859c6450b8c81a58efaabeea (diff) | |
download | gdb-5ef227419afb623fdefbf072d66c0e330bff9b3d.zip gdb-5ef227419afb623fdefbf072d66c0e330bff9b3d.tar.gz gdb-5ef227419afb623fdefbf072d66c0e330bff9b3d.tar.bz2 |
* target.c (target_signal_from_host, do_target_signal_to_host):
Add support for Solaris realtime signals.
Diffstat (limited to 'gdb/target.c')
-rw-r--r-- | gdb/target.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gdb/target.c b/gdb/target.c index b50ec1c..0ce52ba 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -1729,6 +1729,18 @@ target_signal_from_host (int hostsig) error ("GDB bug: target.c (target_signal_from_host): unrecognized real-time signal"); } #endif + +#if defined (SIGRTMIN) + if (hostsig >= SIGRTMIN && hostsig <= SIGRTMAX) + { + /* This block of TARGET_SIGNAL_REALTIME value is in order. */ + if (33 <= hostsig && hostsig <= 63) + return (enum target_signal) + (hostsig - 33 + (int) TARGET_SIGNAL_REALTIME_33); + else + error ("GDB bug: target.c (target_signal_from_host): unrecognized real-time signal"); + } +#endif return TARGET_SIGNAL_UNKNOWN; } @@ -1984,6 +1996,19 @@ do_target_signal_to_host (enum target_signal oursig, } #endif #endif + +#if defined (SIGRTMIN) + if (oursig >= TARGET_SIGNAL_REALTIME_33 + && oursig <= TARGET_SIGNAL_REALTIME_63) + { + /* This block of signals is continuous, and + TARGET_SIGNAL_REALTIME_33 is 33 by definition. */ + int retsig = + (int) oursig - (int) TARGET_SIGNAL_REALTIME_33 + 33; + if (retsig >= SIGRTMIN && retsig <= SIGRTMAX) + return retsig; + } +#endif *oursig_ok = 0; return 0; } |