From 49dd83ba176ee67918be579e61386c9b35b05fdb Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Thu, 28 Jun 2001 04:31:36 +0000 Subject: [PATCH] From 2001-06-08 Daniel Jacobowitz : * defs.h (enum target_signal): Add TARGET_SIGNAL_REALTIME_65 to TARGET_SIGNAL_REALTIME_127. * target.c (struct signals): Add SIG63 to SIG127. (target_signal_from_host): Handle up to 127 signals. (do_target_signal_to_host): Likewise. --- gdb/ChangeLog | 9 ++++++ gdb/defs.h | 70 +++++++++++++++++++++++++++++++++++++++++++-- gdb/target.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 155 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7ec2d94f97a..8398e27534c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2001-06-28 Andrew Cagney + + From 2001-06-08 Daniel Jacobowitz : + * defs.h (enum target_signal): Add TARGET_SIGNAL_REALTIME_65 + to TARGET_SIGNAL_REALTIME_127. + * target.c (struct signals): Add SIG63 to SIG127. + (target_signal_from_host): Handle up to 127 signals. + (do_target_signal_to_host): Likewise. + 2001-06-27 Andrew Cagney * remote-sds.c (sds_start_remote): Change type of ``c'' to int diff --git a/gdb/defs.h b/gdb/defs.h index ff99e66e0dd..aa69216ca3a 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -345,11 +345,75 @@ enum target_signal /* Yes, this pains me, too. But LynxOS didn't have SIG32, and now Linux does, and we can't disturb the numbering, since it's part - of the protocol. Note that in some GDB's TARGET_SIGNAL_REALTIME_32 - is number 76. */ + of the remote protocol. Note that in some GDB's + TARGET_SIGNAL_REALTIME_32 is number 76. */ TARGET_SIGNAL_REALTIME_32, - /* Yet another pain, IRIX 6 has SIG64. */ + /* Yet another pain, IRIX 6 has SIG64. */ TARGET_SIGNAL_REALTIME_64, + /* Yet another pain, Linux/MIPS might go up to 128. */ + TARGET_SIGNAL_REALTIME_65, + TARGET_SIGNAL_REALTIME_66, + TARGET_SIGNAL_REALTIME_67, + TARGET_SIGNAL_REALTIME_68, + TARGET_SIGNAL_REALTIME_69, + TARGET_SIGNAL_REALTIME_70, + TARGET_SIGNAL_REALTIME_71, + TARGET_SIGNAL_REALTIME_72, + TARGET_SIGNAL_REALTIME_73, + TARGET_SIGNAL_REALTIME_74, + TARGET_SIGNAL_REALTIME_75, + TARGET_SIGNAL_REALTIME_76, + TARGET_SIGNAL_REALTIME_77, + TARGET_SIGNAL_REALTIME_78, + TARGET_SIGNAL_REALTIME_79, + TARGET_SIGNAL_REALTIME_80, + TARGET_SIGNAL_REALTIME_81, + TARGET_SIGNAL_REALTIME_82, + TARGET_SIGNAL_REALTIME_83, + TARGET_SIGNAL_REALTIME_84, + TARGET_SIGNAL_REALTIME_85, + TARGET_SIGNAL_REALTIME_86, + TARGET_SIGNAL_REALTIME_87, + TARGET_SIGNAL_REALTIME_88, + TARGET_SIGNAL_REALTIME_89, + TARGET_SIGNAL_REALTIME_90, + TARGET_SIGNAL_REALTIME_91, + TARGET_SIGNAL_REALTIME_92, + TARGET_SIGNAL_REALTIME_93, + TARGET_SIGNAL_REALTIME_94, + TARGET_SIGNAL_REALTIME_95, + TARGET_SIGNAL_REALTIME_96, + TARGET_SIGNAL_REALTIME_97, + TARGET_SIGNAL_REALTIME_98, + TARGET_SIGNAL_REALTIME_99, + TARGET_SIGNAL_REALTIME_100, + TARGET_SIGNAL_REALTIME_101, + TARGET_SIGNAL_REALTIME_102, + TARGET_SIGNAL_REALTIME_103, + TARGET_SIGNAL_REALTIME_104, + TARGET_SIGNAL_REALTIME_105, + TARGET_SIGNAL_REALTIME_106, + TARGET_SIGNAL_REALTIME_107, + TARGET_SIGNAL_REALTIME_108, + TARGET_SIGNAL_REALTIME_109, + TARGET_SIGNAL_REALTIME_110, + TARGET_SIGNAL_REALTIME_111, + TARGET_SIGNAL_REALTIME_112, + TARGET_SIGNAL_REALTIME_113, + TARGET_SIGNAL_REALTIME_114, + TARGET_SIGNAL_REALTIME_115, + TARGET_SIGNAL_REALTIME_116, + TARGET_SIGNAL_REALTIME_117, + TARGET_SIGNAL_REALTIME_118, + TARGET_SIGNAL_REALTIME_119, + TARGET_SIGNAL_REALTIME_120, + TARGET_SIGNAL_REALTIME_121, + TARGET_SIGNAL_REALTIME_122, + TARGET_SIGNAL_REALTIME_123, + TARGET_SIGNAL_REALTIME_124, + TARGET_SIGNAL_REALTIME_125, + TARGET_SIGNAL_REALTIME_126, + TARGET_SIGNAL_REALTIME_127, #if defined(MACH) || defined(__MACH__) /* Mach exceptions */ diff --git a/gdb/target.c b/gdb/target.c index cdccd7f65ae..3430a5ff08b 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -1487,6 +1487,69 @@ static struct { {"SIGCANCEL", "LWP internal signal"}, {"SIG32", "Real-time event 32"}, {"SIG64", "Real-time event 64"}, + {"SIG65", "Real-time event 65"}, + {"SIG66", "Real-time event 66"}, + {"SIG67", "Real-time event 67"}, + {"SIG68", "Real-time event 68"}, + {"SIG69", "Real-time event 69"}, + {"SIG70", "Real-time event 70"}, + {"SIG71", "Real-time event 71"}, + {"SIG72", "Real-time event 72"}, + {"SIG73", "Real-time event 73"}, + {"SIG74", "Real-time event 74"}, + {"SIG75", "Real-time event 75"}, + {"SIG76", "Real-time event 76"}, + {"SIG77", "Real-time event 77"}, + {"SIG78", "Real-time event 78"}, + {"SIG79", "Real-time event 79"}, + {"SIG80", "Real-time event 80"}, + {"SIG81", "Real-time event 81"}, + {"SIG82", "Real-time event 82"}, + {"SIG83", "Real-time event 83"}, + {"SIG84", "Real-time event 84"}, + {"SIG85", "Real-time event 85"}, + {"SIG86", "Real-time event 86"}, + {"SIG87", "Real-time event 87"}, + {"SIG88", "Real-time event 88"}, + {"SIG89", "Real-time event 89"}, + {"SIG90", "Real-time event 90"}, + {"SIG91", "Real-time event 91"}, + {"SIG92", "Real-time event 92"}, + {"SIG93", "Real-time event 93"}, + {"SIG94", "Real-time event 94"}, + {"SIG95", "Real-time event 95"}, + {"SIG96", "Real-time event 96"}, + {"SIG97", "Real-time event 97"}, + {"SIG98", "Real-time event 98"}, + {"SIG99", "Real-time event 99"}, + {"SIG100", "Real-time event 100"}, + {"SIG101", "Real-time event 101"}, + {"SIG102", "Real-time event 102"}, + {"SIG103", "Real-time event 103"}, + {"SIG104", "Real-time event 104"}, + {"SIG105", "Real-time event 105"}, + {"SIG106", "Real-time event 106"}, + {"SIG107", "Real-time event 107"}, + {"SIG108", "Real-time event 108"}, + {"SIG109", "Real-time event 109"}, + {"SIG110", "Real-time event 110"}, + {"SIG111", "Real-time event 111"}, + {"SIG112", "Real-time event 112"}, + {"SIG113", "Real-time event 113"}, + {"SIG114", "Real-time event 114"}, + {"SIG115", "Real-time event 115"}, + {"SIG116", "Real-time event 116"}, + {"SIG117", "Real-time event 117"}, + {"SIG118", "Real-time event 118"}, + {"SIG119", "Real-time event 119"}, + {"SIG120", "Real-time event 120"}, + {"SIG121", "Real-time event 121"}, + {"SIG122", "Real-time event 122"}, + {"SIG123", "Real-time event 123"}, + {"SIG124", "Real-time event 124"}, + {"SIG125", "Real-time event 125"}, + {"SIG126", "Real-time event 126"}, + {"SIG127", "Real-time event 127"}, #if defined(MACH) || defined(__MACH__) /* Mach exceptions */ @@ -1789,6 +1852,9 @@ target_signal_from_host (int hostsig) (hostsig - 33 + (int) TARGET_SIGNAL_REALTIME_33); 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"); } @@ -2061,6 +2127,19 @@ do_target_signal_to_host (enum target_signal oursig, return 32; } #endif +#if (REALTIME_HI > 64) + 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; + if (retsig >= REALTIME_LO && retsig < REALTIME_HI) + return retsig; + } + +#endif #endif #if defined (SIGRTMIN) -- 2.30.2