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 | |
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')
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/target.c | 25 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d2e4f9b..1677114 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2000-09-28 Peter Schauer <pes@regent.e-technik.tu-muenchen.de> + + * target.c (target_signal_from_host, do_target_signal_to_host): + Add support for Solaris realtime signals. + 2000-09-27 Kevin Buettner <kevinb@redhat.com> * os9kread.c (os9k_symfile_read, os9k_end_psymtab): Protoize. 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; } |