aboutsummaryrefslogtreecommitdiff
path: root/gdb/target.c
diff options
context:
space:
mode:
authorPeter Schauer <Peter.Schauer@mytum.de>2000-09-28 07:48:14 +0000
committerPeter Schauer <Peter.Schauer@mytum.de>2000-09-28 07:48:14 +0000
commit5ef227419afb623fdefbf072d66c0e330bff9b3d (patch)
treef6c3972b1204b8c4844c2597fbb7517fe2257020 /gdb/target.c
parent27df9f40e4e03e65859c6450b8c81a58efaabeea (diff)
downloadgdb-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.c25
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;
}