blob: 652752aeabcb1f65f330b0969243408e4c63b3a0 [file] [log] [blame]
/// Cross-platform signal numbers defined by the GDB Remote Serial Protocol.
///
/// Transcribed from <https://github.com/bminor/binutils-gdb/blob/master/include/gdb/signals.def>
#[repr(u8)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[allow(clippy::upper_case_acronyms)]
#[allow(non_camel_case_types)]
#[rustfmt::skip]
#[non_exhaustive]
pub enum Signal {
#[doc = "Signal 0 (shouldn't be used)"] SIGZERO = 0,
#[doc = "Hangup"] SIGHUP = 1,
#[doc = "Interrupt"] SIGINT = 2,
#[doc = "Quit"] SIGQUIT = 3,
#[doc = "Illegal instruction"] SIGILL = 4,
#[doc = "Trace/breakpoint trap"] SIGTRAP = 5,
#[doc = "Aborted"] SIGABRT = 6,
#[doc = "Emulation trap"] SIGEMT = 7,
#[doc = "Arithmetic exception"] SIGFPE = 8,
#[doc = "Killed"] SIGKILL = 9,
#[doc = "Bus error"] SIGBUS = 10,
#[doc = "Segmentation fault"] SIGSEGV = 11,
#[doc = "Bad system call"] SIGSYS = 12,
#[doc = "Broken pipe"] SIGPIPE = 13,
#[doc = "Alarm clock"] SIGALRM = 14,
#[doc = "Terminated"] SIGTERM = 15,
#[doc = "Urgent I/O condition"] SIGURG = 16,
#[doc = "Stopped (signal)"] SIGSTOP = 17,
#[doc = "Stopped (user)"] SIGTSTP = 18,
#[doc = "Continued"] SIGCONT = 19,
#[doc = "Child status changed"] SIGCHLD = 20,
#[doc = "Stopped (tty input)"] SIGTTIN = 21,
#[doc = "Stopped (tty output)"] SIGTTOU = 22,
#[doc = "I/O possible"] SIGIO = 23,
#[doc = "CPU time limit exceeded"] SIGXCPU = 24,
#[doc = "File size limit exceeded"] SIGXFSZ = 25,
#[doc = "Virtual timer expired"] SIGVTALRM = 26,
#[doc = "Profiling timer expired"] SIGPROF = 27,
#[doc = "Window size changed"] SIGWINCH = 28,
#[doc = "Resource lost"] SIGLOST = 29,
#[doc = "User defined signal 1"] SIGUSR1 = 30,
#[doc = "User defined signal 2"] SIGUSR2 = 31,
#[doc = "Power fail/restart"] SIGPWR = 32,
/* Similar to SIGIO. Perhaps they should have the same number. */
#[doc = "Pollable event occurred"] SIGPOLL = 33,
#[doc = "SIGWIND"] SIGWIND = 34,
#[doc = "SIGPHONE"] SIGPHONE = 35,
#[doc = "Process's LWPs are blocked"] SIGWAITING = 36,
#[doc = "Signal LWP"] SIGLWP = 37,
#[doc = "Swap space dangerously low"] SIGDANGER = 38,
#[doc = "Monitor mode granted"] SIGGRANT = 39,
#[doc = "Need to relinquish monitor mode"] SIGRETRACT = 40,
#[doc = "Monitor mode data available"] SIGMSG = 41,
#[doc = "Sound completed"] SIGSOUND = 42,
#[doc = "Secure attention"] SIGSAK = 43,
#[doc = "SIGPRIO"] SIGPRIO = 44,
#[doc = "Real-time event 33"] SIG33 = 45,
#[doc = "Real-time event 34"] SIG34 = 46,
#[doc = "Real-time event 35"] SIG35 = 47,
#[doc = "Real-time event 36"] SIG36 = 48,
#[doc = "Real-time event 37"] SIG37 = 49,
#[doc = "Real-time event 38"] SIG38 = 50,
#[doc = "Real-time event 39"] SIG39 = 51,
#[doc = "Real-time event 40"] SIG40 = 52,
#[doc = "Real-time event 41"] SIG41 = 53,
#[doc = "Real-time event 42"] SIG42 = 54,
#[doc = "Real-time event 43"] SIG43 = 55,
#[doc = "Real-time event 44"] SIG44 = 56,
#[doc = "Real-time event 45"] SIG45 = 57,
#[doc = "Real-time event 46"] SIG46 = 58,
#[doc = "Real-time event 47"] SIG47 = 59,
#[doc = "Real-time event 48"] SIG48 = 60,
#[doc = "Real-time event 49"] SIG49 = 61,
#[doc = "Real-time event 50"] SIG50 = 62,
#[doc = "Real-time event 51"] SIG51 = 63,
#[doc = "Real-time event 52"] SIG52 = 64,
#[doc = "Real-time event 53"] SIG53 = 65,
#[doc = "Real-time event 54"] SIG54 = 66,
#[doc = "Real-time event 55"] SIG55 = 67,
#[doc = "Real-time event 56"] SIG56 = 68,
#[doc = "Real-time event 57"] SIG57 = 69,
#[doc = "Real-time event 58"] SIG58 = 70,
#[doc = "Real-time event 59"] SIG59 = 71,
#[doc = "Real-time event 60"] SIG60 = 72,
#[doc = "Real-time event 61"] SIG61 = 73,
#[doc = "Real-time event 62"] SIG62 = 74,
#[doc = "Real-time event 63"] SIG63 = 75,
/* Used internally by Solaris threads. See signal(5) on Solaris. */
#[doc = "LWP internal signal"] SIGCANCEL = 76,
/* Yes, this pains me, too. But LynxOS didn't have SIG32, and now
GNU/Linux does, and we can't disturb the numbering, since it's
part of the remote protocol. Note that in some GDB's
GDB_SIGNAL_REALTIME_32 is number 76. */
#[doc = "Real-time event 32"] SIG32 = 77,
/* Yet another pain, IRIX 6 has SIG64. */
#[doc = "Real-time event 64"] SIG64 = 78,
/* Yet another pain, GNU/Linux MIPS might go up to 128. */
#[doc = "Real-time event 65"] SIG65 = 79,
#[doc = "Real-time event 66"] SIG66 = 80,
#[doc = "Real-time event 67"] SIG67 = 81,
#[doc = "Real-time event 68"] SIG68 = 82,
#[doc = "Real-time event 69"] SIG69 = 83,
#[doc = "Real-time event 70"] SIG70 = 84,
#[doc = "Real-time event 71"] SIG71 = 85,
#[doc = "Real-time event 72"] SIG72 = 86,
#[doc = "Real-time event 73"] SIG73 = 87,
#[doc = "Real-time event 74"] SIG74 = 88,
#[doc = "Real-time event 75"] SIG75 = 89,
#[doc = "Real-time event 76"] SIG76 = 90,
#[doc = "Real-time event 77"] SIG77 = 91,
#[doc = "Real-time event 78"] SIG78 = 92,
#[doc = "Real-time event 79"] SIG79 = 93,
#[doc = "Real-time event 80"] SIG80 = 94,
#[doc = "Real-time event 81"] SIG81 = 95,
#[doc = "Real-time event 82"] SIG82 = 96,
#[doc = "Real-time event 83"] SIG83 = 97,
#[doc = "Real-time event 84"] SIG84 = 98,
#[doc = "Real-time event 85"] SIG85 = 99,
#[doc = "Real-time event 86"] SIG86 = 100,
#[doc = "Real-time event 87"] SIG87 = 101,
#[doc = "Real-time event 88"] SIG88 = 102,
#[doc = "Real-time event 89"] SIG89 = 103,
#[doc = "Real-time event 90"] SIG90 = 104,
#[doc = "Real-time event 91"] SIG91 = 105,
#[doc = "Real-time event 92"] SIG92 = 106,
#[doc = "Real-time event 93"] SIG93 = 107,
#[doc = "Real-time event 94"] SIG94 = 108,
#[doc = "Real-time event 95"] SIG95 = 109,
#[doc = "Real-time event 96"] SIG96 = 110,
#[doc = "Real-time event 97"] SIG97 = 111,
#[doc = "Real-time event 98"] SIG98 = 112,
#[doc = "Real-time event 99"] SIG99 = 113,
#[doc = "Real-time event 100"] SIG100 = 114,
#[doc = "Real-time event 101"] SIG101 = 115,
#[doc = "Real-time event 102"] SIG102 = 116,
#[doc = "Real-time event 103"] SIG103 = 117,
#[doc = "Real-time event 104"] SIG104 = 118,
#[doc = "Real-time event 105"] SIG105 = 119,
#[doc = "Real-time event 106"] SIG106 = 120,
#[doc = "Real-time event 107"] SIG107 = 121,
#[doc = "Real-time event 108"] SIG108 = 122,
#[doc = "Real-time event 109"] SIG109 = 123,
#[doc = "Real-time event 110"] SIG110 = 124,
#[doc = "Real-time event 111"] SIG111 = 125,
#[doc = "Real-time event 112"] SIG112 = 126,
#[doc = "Real-time event 113"] SIG113 = 127,
#[doc = "Real-time event 114"] SIG114 = 128,
#[doc = "Real-time event 115"] SIG115 = 129,
#[doc = "Real-time event 116"] SIG116 = 130,
#[doc = "Real-time event 117"] SIG117 = 131,
#[doc = "Real-time event 118"] SIG118 = 132,
#[doc = "Real-time event 119"] SIG119 = 133,
#[doc = "Real-time event 120"] SIG120 = 134,
#[doc = "Real-time event 121"] SIG121 = 135,
#[doc = "Real-time event 122"] SIG122 = 136,
#[doc = "Real-time event 123"] SIG123 = 137,
#[doc = "Real-time event 124"] SIG124 = 138,
#[doc = "Real-time event 125"] SIG125 = 139,
#[doc = "Real-time event 126"] SIG126 = 140,
#[doc = "Real-time event 127"] SIG127 = 141,
#[doc = "Information request"] SIGINFO = 142,
/* Some signal we don't know about. */
#[doc = "Unknown signal"] UNKNOWN = 143,
/* Use whatever signal we use when one is not specifically specified
(for passing to proceed and so on). */
#[doc = "Internal error: printing GDB_SIGNAL_DEFAULT"] INTERNAL_DEFAULT = 144,
/* Mach exceptions. In versions of GDB before 5.2, these were just before
GDB_SIGNAL_INFO if you were compiling on a Mach host (and missing
otherwise). */
#[doc = "Could not access memory"] EXC_BAD_ACCESS = 145,
#[doc = "Illegal instruction/operand"] EXC_BAD_INSTRUCTION = 146,
#[doc = "Arithmetic exception"] EXC_ARITHMETIC = 147,
#[doc = "Emulation instruction"] EXC_EMULATION = 148,
#[doc = "Software generated exception"] EXC_SOFTWARE = 149,
#[doc = "Breakpoint"] EXC_BREAKPOINT = 150,
#[doc = "librt internal signal"] SIGLIBRT = 151,
}
impl core::fmt::Display for Signal {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
#[rustfmt::skip]
let s = match self {
Signal::SIGZERO => "SIGZERO - Signal 0",
Signal::SIGHUP => "SIGHUP - Hangup",
Signal::SIGINT => "SIGINT - Interrupt",
Signal::SIGQUIT => "SIGQUIT - Quit",
Signal::SIGILL => "SIGILL - Illegal instruction",
Signal::SIGTRAP => "SIGTRAP - Trace/breakpoint trap",
Signal::SIGABRT => "SIGABRT - Aborted",
Signal::SIGEMT => "SIGEMT - Emulation trap",
Signal::SIGFPE => "SIGFPE - Arithmetic exception",
Signal::SIGKILL => "SIGKILL - Killed",
Signal::SIGBUS => "SIGBUS - Bus error",
Signal::SIGSEGV => "SIGSEGV - Segmentation fault",
Signal::SIGSYS => "SIGSYS - Bad system call",
Signal::SIGPIPE => "SIGPIPE - Broken pipe",
Signal::SIGALRM => "SIGALRM - Alarm clock",
Signal::SIGTERM => "SIGTERM - Terminated",
Signal::SIGURG => "SIGURG - Urgent I/O condition",
Signal::SIGSTOP => "SIGSTOP - Stopped (signal)",
Signal::SIGTSTP => "SIGTSTP - Stopped (user)",
Signal::SIGCONT => "SIGCONT - Continued",
Signal::SIGCHLD => "SIGCHLD - Child status changed",
Signal::SIGTTIN => "SIGTTIN - Stopped (tty input)",
Signal::SIGTTOU => "SIGTTOU - Stopped (tty output)",
Signal::SIGIO => "SIGIO - I/O possible",
Signal::SIGXCPU => "SIGXCPU - CPU time limit exceeded",
Signal::SIGXFSZ => "SIGXFSZ - File size limit exceeded",
Signal::SIGVTALRM => "SIGVTALRM - Virtual timer expired",
Signal::SIGPROF => "SIGPROF - Profiling timer expired",
Signal::SIGWINCH => "SIGWINCH - Window size changed",
Signal::SIGLOST => "SIGLOST - Resource lost",
Signal::SIGUSR1 => "SIGUSR1 - User defined signal 1",
Signal::SIGUSR2 => "SIGUSR2 - User defined signal 2",
Signal::SIGPWR => "SIGPWR - Power fail/restart",
Signal::SIGPOLL => "SIGPOLL - Pollable event occurred",
Signal::SIGWIND => "SIGWIND - SIGWIND",
Signal::SIGPHONE => "SIGPHONE - SIGPHONE",
Signal::SIGWAITING => "SIGWAITING - Process's LWPs are blocked",
Signal::SIGLWP => "SIGLWP - Signal LWP",
Signal::SIGDANGER => "SIGDANGER - Swap space dangerously low",
Signal::SIGGRANT => "SIGGRANT - Monitor mode granted",
Signal::SIGRETRACT => "SIGRETRACT - Need to relinquish monitor mode",
Signal::SIGMSG => "SIGMSG - Monitor mode data available",
Signal::SIGSOUND => "SIGSOUND - Sound completed",
Signal::SIGSAK => "SIGSAK - Secure attention",
Signal::SIGPRIO => "SIGPRIO - SIGPRIO",
Signal::SIG33 => "SIG33 - Real-time event 33",
Signal::SIG34 => "SIG34 - Real-time event 34",
Signal::SIG35 => "SIG35 - Real-time event 35",
Signal::SIG36 => "SIG36 - Real-time event 36",
Signal::SIG37 => "SIG37 - Real-time event 37",
Signal::SIG38 => "SIG38 - Real-time event 38",
Signal::SIG39 => "SIG39 - Real-time event 39",
Signal::SIG40 => "SIG40 - Real-time event 40",
Signal::SIG41 => "SIG41 - Real-time event 41",
Signal::SIG42 => "SIG42 - Real-time event 42",
Signal::SIG43 => "SIG43 - Real-time event 43",
Signal::SIG44 => "SIG44 - Real-time event 44",
Signal::SIG45 => "SIG45 - Real-time event 45",
Signal::SIG46 => "SIG46 - Real-time event 46",
Signal::SIG47 => "SIG47 - Real-time event 47",
Signal::SIG48 => "SIG48 - Real-time event 48",
Signal::SIG49 => "SIG49 - Real-time event 49",
Signal::SIG50 => "SIG50 - Real-time event 50",
Signal::SIG51 => "SIG51 - Real-time event 51",
Signal::SIG52 => "SIG52 - Real-time event 52",
Signal::SIG53 => "SIG53 - Real-time event 53",
Signal::SIG54 => "SIG54 - Real-time event 54",
Signal::SIG55 => "SIG55 - Real-time event 55",
Signal::SIG56 => "SIG56 - Real-time event 56",
Signal::SIG57 => "SIG57 - Real-time event 57",
Signal::SIG58 => "SIG58 - Real-time event 58",
Signal::SIG59 => "SIG59 - Real-time event 59",
Signal::SIG60 => "SIG60 - Real-time event 60",
Signal::SIG61 => "SIG61 - Real-time event 61",
Signal::SIG62 => "SIG62 - Real-time event 62",
Signal::SIG63 => "SIG63 - Real-time event 63",
Signal::SIGCANCEL => "SIGCANCEL - LWP internal signal",
Signal::SIG32 => "SIG32 - Real-time event 32",
Signal::SIG64 => "SIG64 - Real-time event 64",
Signal::SIG65 => "SIG65 - Real-time event 65",
Signal::SIG66 => "SIG66 - Real-time event 66",
Signal::SIG67 => "SIG67 - Real-time event 67",
Signal::SIG68 => "SIG68 - Real-time event 68",
Signal::SIG69 => "SIG69 - Real-time event 69",
Signal::SIG70 => "SIG70 - Real-time event 70",
Signal::SIG71 => "SIG71 - Real-time event 71",
Signal::SIG72 => "SIG72 - Real-time event 72",
Signal::SIG73 => "SIG73 - Real-time event 73",
Signal::SIG74 => "SIG74 - Real-time event 74",
Signal::SIG75 => "SIG75 - Real-time event 75",
Signal::SIG76 => "SIG76 - Real-time event 76",
Signal::SIG77 => "SIG77 - Real-time event 77",
Signal::SIG78 => "SIG78 - Real-time event 78",
Signal::SIG79 => "SIG79 - Real-time event 79",
Signal::SIG80 => "SIG80 - Real-time event 80",
Signal::SIG81 => "SIG81 - Real-time event 81",
Signal::SIG82 => "SIG82 - Real-time event 82",
Signal::SIG83 => "SIG83 - Real-time event 83",
Signal::SIG84 => "SIG84 - Real-time event 84",
Signal::SIG85 => "SIG85 - Real-time event 85",
Signal::SIG86 => "SIG86 - Real-time event 86",
Signal::SIG87 => "SIG87 - Real-time event 87",
Signal::SIG88 => "SIG88 - Real-time event 88",
Signal::SIG89 => "SIG89 - Real-time event 89",
Signal::SIG90 => "SIG90 - Real-time event 90",
Signal::SIG91 => "SIG91 - Real-time event 91",
Signal::SIG92 => "SIG92 - Real-time event 92",
Signal::SIG93 => "SIG93 - Real-time event 93",
Signal::SIG94 => "SIG94 - Real-time event 94",
Signal::SIG95 => "SIG95 - Real-time event 95",
Signal::SIG96 => "SIG96 - Real-time event 96",
Signal::SIG97 => "SIG97 - Real-time event 97",
Signal::SIG98 => "SIG98 - Real-time event 98",
Signal::SIG99 => "SIG99 - Real-time event 99",
Signal::SIG100 => "SIG100 - Real-time event 100",
Signal::SIG101 => "SIG101 - Real-time event 101",
Signal::SIG102 => "SIG102 - Real-time event 102",
Signal::SIG103 => "SIG103 - Real-time event 103",
Signal::SIG104 => "SIG104 - Real-time event 104",
Signal::SIG105 => "SIG105 - Real-time event 105",
Signal::SIG106 => "SIG106 - Real-time event 106",
Signal::SIG107 => "SIG107 - Real-time event 107",
Signal::SIG108 => "SIG108 - Real-time event 108",
Signal::SIG109 => "SIG109 - Real-time event 109",
Signal::SIG110 => "SIG110 - Real-time event 110",
Signal::SIG111 => "SIG111 - Real-time event 111",
Signal::SIG112 => "SIG112 - Real-time event 112",
Signal::SIG113 => "SIG113 - Real-time event 113",
Signal::SIG114 => "SIG114 - Real-time event 114",
Signal::SIG115 => "SIG115 - Real-time event 115",
Signal::SIG116 => "SIG116 - Real-time event 116",
Signal::SIG117 => "SIG117 - Real-time event 117",
Signal::SIG118 => "SIG118 - Real-time event 118",
Signal::SIG119 => "SIG119 - Real-time event 119",
Signal::SIG120 => "SIG120 - Real-time event 120",
Signal::SIG121 => "SIG121 - Real-time event 121",
Signal::SIG122 => "SIG122 - Real-time event 122",
Signal::SIG123 => "SIG123 - Real-time event 123",
Signal::SIG124 => "SIG124 - Real-time event 124",
Signal::SIG125 => "SIG125 - Real-time event 125",
Signal::SIG126 => "SIG126 - Real-time event 126",
Signal::SIG127 => "SIG127 - Real-time event 127",
Signal::SIGINFO => "SIGINFO - Information request",
Signal::UNKNOWN => "UNKNOWN - Unknown signal",
Signal::INTERNAL_DEFAULT => "INTERNAL_DEFAULT - Internal error: printing GDB_SIGNAL_DEFAULT",
Signal::EXC_BAD_ACCESS => "EXC_BAD_ACCESS - Could not access memory",
Signal::EXC_BAD_INSTRUCTION => "EXC_BAD_INSTRUCTION - Illegal instruction/operand",
Signal::EXC_ARITHMETIC => "EXC_ARITHMETIC - Arithmetic exception",
Signal::EXC_EMULATION => "EXC_EMULATION - Emulation instruction",
Signal::EXC_SOFTWARE => "EXC_SOFTWARE - Software generated exception",
Signal::EXC_BREAKPOINT => "EXC_BREAKPOINT - Breakpoint",
Signal::SIGLIBRT => "SIGLIBRT - librt internal signal",
};
write!(f, "{}", s)
}
}
impl Signal {
#[cfg(not(feature = "paranoid_unsafe"))]
pub(crate) fn from_protocol_u8(val: u8) -> Signal {
if val <= 151 {
// SAFETY: Signal is repr(u8), and `val` was confirmed to fall in valid range
unsafe { core::mem::transmute(val) }
} else {
Signal::UNKNOWN
}
}
#[cfg(feature = "paranoid_unsafe")]
pub(crate) fn from_protocol_u8(val: u8) -> Signal {
match val {
0 => Signal::SIGZERO,
1 => Signal::SIGHUP,
2 => Signal::SIGINT,
3 => Signal::SIGQUIT,
4 => Signal::SIGILL,
5 => Signal::SIGTRAP,
6 => Signal::SIGABRT,
7 => Signal::SIGEMT,
8 => Signal::SIGFPE,
9 => Signal::SIGKILL,
10 => Signal::SIGBUS,
11 => Signal::SIGSEGV,
12 => Signal::SIGSYS,
13 => Signal::SIGPIPE,
14 => Signal::SIGALRM,
15 => Signal::SIGTERM,
16 => Signal::SIGURG,
17 => Signal::SIGSTOP,
18 => Signal::SIGTSTP,
19 => Signal::SIGCONT,
20 => Signal::SIGCHLD,
21 => Signal::SIGTTIN,
22 => Signal::SIGTTOU,
23 => Signal::SIGIO,
24 => Signal::SIGXCPU,
25 => Signal::SIGXFSZ,
26 => Signal::SIGVTALRM,
27 => Signal::SIGPROF,
28 => Signal::SIGWINCH,
29 => Signal::SIGLOST,
30 => Signal::SIGUSR1,
31 => Signal::SIGUSR2,
32 => Signal::SIGPWR,
33 => Signal::SIGPOLL,
34 => Signal::SIGWIND,
35 => Signal::SIGPHONE,
36 => Signal::SIGWAITING,
37 => Signal::SIGLWP,
38 => Signal::SIGDANGER,
39 => Signal::SIGGRANT,
40 => Signal::SIGRETRACT,
41 => Signal::SIGMSG,
42 => Signal::SIGSOUND,
43 => Signal::SIGSAK,
44 => Signal::SIGPRIO,
45 => Signal::SIG33,
46 => Signal::SIG34,
47 => Signal::SIG35,
48 => Signal::SIG36,
49 => Signal::SIG37,
50 => Signal::SIG38,
51 => Signal::SIG39,
52 => Signal::SIG40,
53 => Signal::SIG41,
54 => Signal::SIG42,
55 => Signal::SIG43,
56 => Signal::SIG44,
57 => Signal::SIG45,
58 => Signal::SIG46,
59 => Signal::SIG47,
60 => Signal::SIG48,
61 => Signal::SIG49,
62 => Signal::SIG50,
63 => Signal::SIG51,
64 => Signal::SIG52,
65 => Signal::SIG53,
66 => Signal::SIG54,
67 => Signal::SIG55,
68 => Signal::SIG56,
69 => Signal::SIG57,
70 => Signal::SIG58,
71 => Signal::SIG59,
72 => Signal::SIG60,
73 => Signal::SIG61,
74 => Signal::SIG62,
75 => Signal::SIG63,
76 => Signal::SIGCANCEL,
77 => Signal::SIG32,
78 => Signal::SIG64,
79 => Signal::SIG65,
80 => Signal::SIG66,
81 => Signal::SIG67,
82 => Signal::SIG68,
83 => Signal::SIG69,
84 => Signal::SIG70,
85 => Signal::SIG71,
86 => Signal::SIG72,
87 => Signal::SIG73,
88 => Signal::SIG74,
89 => Signal::SIG75,
90 => Signal::SIG76,
91 => Signal::SIG77,
92 => Signal::SIG78,
93 => Signal::SIG79,
94 => Signal::SIG80,
95 => Signal::SIG81,
96 => Signal::SIG82,
97 => Signal::SIG83,
98 => Signal::SIG84,
99 => Signal::SIG85,
100 => Signal::SIG86,
101 => Signal::SIG87,
102 => Signal::SIG88,
103 => Signal::SIG89,
104 => Signal::SIG90,
105 => Signal::SIG91,
106 => Signal::SIG92,
107 => Signal::SIG93,
108 => Signal::SIG94,
109 => Signal::SIG95,
110 => Signal::SIG96,
111 => Signal::SIG97,
112 => Signal::SIG98,
113 => Signal::SIG99,
114 => Signal::SIG100,
115 => Signal::SIG101,
116 => Signal::SIG102,
117 => Signal::SIG103,
118 => Signal::SIG104,
119 => Signal::SIG105,
120 => Signal::SIG106,
121 => Signal::SIG107,
122 => Signal::SIG108,
123 => Signal::SIG109,
124 => Signal::SIG110,
125 => Signal::SIG111,
126 => Signal::SIG112,
127 => Signal::SIG113,
128 => Signal::SIG114,
129 => Signal::SIG115,
130 => Signal::SIG116,
131 => Signal::SIG117,
132 => Signal::SIG118,
133 => Signal::SIG119,
134 => Signal::SIG120,
135 => Signal::SIG121,
136 => Signal::SIG122,
137 => Signal::SIG123,
138 => Signal::SIG124,
139 => Signal::SIG125,
140 => Signal::SIG126,
141 => Signal::SIG127,
142 => Signal::SIGINFO,
143 => Signal::UNKNOWN,
144 => Signal::INTERNAL_DEFAULT,
145 => Signal::EXC_BAD_ACCESS,
146 => Signal::EXC_BAD_INSTRUCTION,
147 => Signal::EXC_ARITHMETIC,
148 => Signal::EXC_EMULATION,
149 => Signal::EXC_SOFTWARE,
150 => Signal::EXC_BREAKPOINT,
151 => Signal::SIGLIBRT,
_ => Signal::UNKNOWN,
}
}
}