1//===-- GDBRemoteSignals.cpp ----------------------------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "GDBRemoteSignals.h"
10
11using namespace lldb_private;
12
13GDBRemoteSignals::GDBRemoteSignals() : UnixSignals() { Reset(); }
14
15GDBRemoteSignals::GDBRemoteSignals(const lldb::UnixSignalsSP &rhs)
16 : UnixSignals(*rhs) {}
17
18void GDBRemoteSignals::Reset() {
19 m_signals.clear();
20 // clang-format off
21 // SIGNO NAME SUPPRESS STOP NOTIFY DESCRIPTION
22 // ====== ============== ======== ====== ====== ===================================================
23 AddSignal(signo: 1, name: "SIGHUP", default_suppress: false, default_stop: true, default_notify: true, description: "hangup");
24 AddSignal(signo: 2, name: "SIGINT", default_suppress: true, default_stop: true, default_notify: true, description: "interrupt");
25 AddSignal(signo: 3, name: "SIGQUIT", default_suppress: false, default_stop: true, default_notify: true, description: "quit");
26 AddSignal(signo: 4, name: "SIGILL", default_suppress: false, default_stop: true, default_notify: true, description: "illegal instruction");
27 AddSignal(signo: 5, name: "SIGTRAP", default_suppress: true, default_stop: true, default_notify: true, description: "trace trap (not reset when caught)");
28 AddSignal(signo: 6, name: "SIGABRT", default_suppress: false, default_stop: true, default_notify: true, description: "abort()/IOT trap", alias: "SIGIOT");
29 AddSignal(signo: 7, name: "SIGEMT", default_suppress: false, default_stop: true, default_notify: true, description: "emulation trap");
30 AddSignal(signo: 8, name: "SIGFPE", default_suppress: false, default_stop: true, default_notify: true, description: "floating point exception");
31 AddSignal(signo: 9, name: "SIGKILL", default_suppress: false, default_stop: true, default_notify: true, description: "kill");
32 AddSignal(signo: 10, name: "SIGBUS", default_suppress: false, default_stop: true, default_notify: true, description: "bus error");
33 AddSignal(signo: 11, name: "SIGSEGV", default_suppress: false, default_stop: true, default_notify: true, description: "segmentation violation");
34 AddSignal(signo: 12, name: "SIGSYS", default_suppress: false, default_stop: true, default_notify: true, description: "invalid system call");
35 AddSignal(signo: 13, name: "SIGPIPE", default_suppress: false, default_stop: true, default_notify: true, description: "write to pipe with reading end closed");
36 AddSignal(signo: 14, name: "SIGALRM", default_suppress: false, default_stop: false, default_notify: false, description: "alarm");
37 AddSignal(signo: 15, name: "SIGTERM", default_suppress: false, default_stop: true, default_notify: true, description: "termination requested");
38 AddSignal(signo: 16, name: "SIGURG", default_suppress: false, default_stop: true, default_notify: true, description: "urgent data on socket");
39 AddSignal(signo: 17, name: "SIGSTOP", default_suppress: true, default_stop: true, default_notify: true, description: "process stop");
40 AddSignal(signo: 18, name: "SIGTSTP", default_suppress: false, default_stop: true, default_notify: true, description: "tty stop");
41 AddSignal(signo: 19, name: "SIGCONT", default_suppress: false, default_stop: false, default_notify: true, description: "process continue");
42 AddSignal(signo: 20, name: "SIGCHLD", default_suppress: false, default_stop: false, default_notify: true, description: "child status has changed", alias: "SIGCLD");
43 AddSignal(signo: 21, name: "SIGTTIN", default_suppress: false, default_stop: true, default_notify: true, description: "background tty read");
44 AddSignal(signo: 22, name: "SIGTTOU", default_suppress: false, default_stop: true, default_notify: true, description: "background tty write");
45 AddSignal(signo: 23, name: "SIGIO", default_suppress: false, default_stop: true, default_notify: true, description: "input/output ready/Pollable event");
46 AddSignal(signo: 24, name: "SIGXCPU", default_suppress: false, default_stop: true, default_notify: true, description: "CPU resource exceeded");
47 AddSignal(signo: 25, name: "SIGXFSZ", default_suppress: false, default_stop: true, default_notify: true, description: "file size limit exceeded");
48 AddSignal(signo: 26, name: "SIGVTALRM", default_suppress: false, default_stop: true, default_notify: true, description: "virtual time alarm");
49 AddSignal(signo: 27, name: "SIGPROF", default_suppress: false, default_stop: false, default_notify: false, description: "profiling time alarm");
50 AddSignal(signo: 28, name: "SIGWINCH", default_suppress: false, default_stop: true, default_notify: true, description: "window size changes");
51 AddSignal(signo: 29, name: "SIGLOST", default_suppress: false, default_stop: true, default_notify: true, description: "resource lost");
52 AddSignal(signo: 30, name: "SIGUSR1", default_suppress: false, default_stop: true, default_notify: true, description: "user defined signal 1");
53 AddSignal(signo: 31, name: "SIGUSR2", default_suppress: false, default_stop: true, default_notify: true, description: "user defined signal 2");
54 AddSignal(signo: 32, name: "SIGPWR", default_suppress: false, default_stop: true, default_notify: true, description: "power failure");
55 AddSignal(signo: 33, name: "SIGPOLL", default_suppress: false, default_stop: true, default_notify: true, description: "pollable event");
56 AddSignal(signo: 34, name: "SIGWIND", default_suppress: false, default_stop: true, default_notify: true, description: "SIGWIND");
57 AddSignal(signo: 35, name: "SIGPHONE", default_suppress: false, default_stop: true, default_notify: true, description: "SIGPHONE");
58 AddSignal(signo: 36, name: "SIGWAITING", default_suppress: false, default_stop: true, default_notify: true, description: "process's LWPs are blocked");
59 AddSignal(signo: 37, name: "SIGLWP", default_suppress: false, default_stop: true, default_notify: true, description: "signal LWP");
60 AddSignal(signo: 38, name: "SIGDANGER", default_suppress: false, default_stop: true, default_notify: true, description: "swap space dangerously low");
61 AddSignal(signo: 39, name: "SIGGRANT", default_suppress: false, default_stop: true, default_notify: true, description: "monitor mode granted");
62 AddSignal(signo: 40, name: "SIGRETRACT", default_suppress: false, default_stop: true, default_notify: true, description: "need to relinquish monitor mode");
63 AddSignal(signo: 41, name: "SIGMSG", default_suppress: false, default_stop: true, default_notify: true, description: "monitor mode data available");
64 AddSignal(signo: 42, name: "SIGSOUND", default_suppress: false, default_stop: true, default_notify: true, description: "sound completed");
65 AddSignal(signo: 43, name: "SIGSAK", default_suppress: false, default_stop: true, default_notify: true, description: "secure attention");
66 AddSignal(signo: 44, name: "SIGPRIO", default_suppress: false, default_stop: true, default_notify: true, description: "SIGPRIO");
67
68 AddSignal(signo: 45, name: "SIG33", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 33");
69 AddSignal(signo: 46, name: "SIG34", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 34");
70 AddSignal(signo: 47, name: "SIG35", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 35");
71 AddSignal(signo: 48, name: "SIG36", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 36");
72 AddSignal(signo: 49, name: "SIG37", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 37");
73 AddSignal(signo: 50, name: "SIG38", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 38");
74 AddSignal(signo: 51, name: "SIG39", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 39");
75 AddSignal(signo: 52, name: "SIG40", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 40");
76 AddSignal(signo: 53, name: "SIG41", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 41");
77 AddSignal(signo: 54, name: "SIG42", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 42");
78 AddSignal(signo: 55, name: "SIG43", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 43");
79 AddSignal(signo: 56, name: "SIG44", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 44");
80 AddSignal(signo: 57, name: "SIG45", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 45");
81 AddSignal(signo: 58, name: "SIG46", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 46");
82 AddSignal(signo: 59, name: "SIG47", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 47");
83 AddSignal(signo: 60, name: "SIG48", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 48");
84 AddSignal(signo: 61, name: "SIG49", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 49");
85 AddSignal(signo: 62, name: "SIG50", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 50");
86 AddSignal(signo: 63, name: "SIG51", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 51");
87 AddSignal(signo: 64, name: "SIG52", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 52");
88 AddSignal(signo: 65, name: "SIG53", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 53");
89 AddSignal(signo: 66, name: "SIG54", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 54");
90 AddSignal(signo: 67, name: "SIG55", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 55");
91 AddSignal(signo: 68, name: "SIG56", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 56");
92 AddSignal(signo: 69, name: "SIG57", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 57");
93 AddSignal(signo: 70, name: "SIG58", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 58");
94 AddSignal(signo: 71, name: "SIG59", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 59");
95 AddSignal(signo: 72, name: "SIG60", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 60");
96 AddSignal(signo: 73, name: "SIG61", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 61");
97 AddSignal(signo: 74, name: "SIG62", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 62");
98 AddSignal(signo: 75, name: "SIG63", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 63");
99
100 AddSignal(signo: 76, name: "SIGCANCEL", default_suppress: false, default_stop: true, default_notify: true, description: "LWP internal signal");
101
102 AddSignal(signo: 77, name: "SIG32", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 32");
103 AddSignal(signo: 78, name: "SIG64", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 64");
104 AddSignal(signo: 79, name: "SIG65", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 65");
105 AddSignal(signo: 80, name: "SIG66", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 66");
106 AddSignal(signo: 81, name: "SIG67", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 67");
107 AddSignal(signo: 82, name: "SIG68", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 68");
108 AddSignal(signo: 83, name: "SIG69", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 69");
109 AddSignal(signo: 84, name: "SIG70", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 70");
110 AddSignal(signo: 85, name: "SIG71", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 71");
111 AddSignal(signo: 86, name: "SIG72", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 72");
112 AddSignal(signo: 87, name: "SIG73", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 73");
113 AddSignal(signo: 88, name: "SIG74", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 74");
114 AddSignal(signo: 89, name: "SIG75", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 75");
115 AddSignal(signo: 90, name: "SIG76", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 76");
116 AddSignal(signo: 91, name: "SIG77", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 77");
117 AddSignal(signo: 92, name: "SIG78", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 78");
118 AddSignal(signo: 93, name: "SIG79", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 79");
119 AddSignal(signo: 94, name: "SIG80", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 80");
120 AddSignal(signo: 95, name: "SIG81", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 81");
121 AddSignal(signo: 96, name: "SIG82", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 82");
122 AddSignal(signo: 97, name: "SIG83", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 83");
123 AddSignal(signo: 98, name: "SIG84", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 84");
124 AddSignal(signo: 99, name: "SIG85", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 85");
125 AddSignal(signo: 100, name: "SIG86", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 86");
126 AddSignal(signo: 101, name: "SIG87", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 87");
127 AddSignal(signo: 102, name: "SIG88", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 88");
128 AddSignal(signo: 103, name: "SIG89", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 89");
129 AddSignal(signo: 104, name: "SIG90", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 90");
130 AddSignal(signo: 105, name: "SIG91", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 91");
131 AddSignal(signo: 106, name: "SIG92", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 92");
132 AddSignal(signo: 107, name: "SIG93", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 93");
133 AddSignal(signo: 108, name: "SIG94", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 94");
134 AddSignal(signo: 109, name: "SIG95", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 95");
135 AddSignal(signo: 110, name: "SIG96", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 96");
136 AddSignal(signo: 111, name: "SIG97", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 97");
137 AddSignal(signo: 112, name: "SIG98", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 98");
138 AddSignal(signo: 113, name: "SIG99", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 99");
139 AddSignal(signo: 114, name: "SIG100", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 100");
140 AddSignal(signo: 115, name: "SIG101", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 101");
141 AddSignal(signo: 116, name: "SIG102", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 102");
142 AddSignal(signo: 117, name: "SIG103", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 103");
143 AddSignal(signo: 118, name: "SIG104", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 104");
144 AddSignal(signo: 119, name: "SIG105", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 105");
145 AddSignal(signo: 120, name: "SIG106", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 106");
146 AddSignal(signo: 121, name: "SIG107", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 107");
147 AddSignal(signo: 122, name: "SIG108", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 108");
148 AddSignal(signo: 123, name: "SIG109", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 109");
149 AddSignal(signo: 124, name: "SIG110", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 110");
150 AddSignal(signo: 125, name: "SIG111", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 111");
151 AddSignal(signo: 126, name: "SIG112", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 112");
152 AddSignal(signo: 127, name: "SIG113", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 113");
153 AddSignal(signo: 128, name: "SIG114", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 114");
154 AddSignal(signo: 129, name: "SIG115", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 115");
155 AddSignal(signo: 130, name: "SIG116", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 116");
156 AddSignal(signo: 131, name: "SIG117", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 117");
157 AddSignal(signo: 132, name: "SIG118", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 118");
158 AddSignal(signo: 133, name: "SIG119", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 119");
159 AddSignal(signo: 134, name: "SIG120", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 120");
160 AddSignal(signo: 135, name: "SIG121", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 121");
161 AddSignal(signo: 136, name: "SIG122", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 122");
162 AddSignal(signo: 137, name: "SIG123", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 123");
163 AddSignal(signo: 138, name: "SIG124", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 124");
164 AddSignal(signo: 139, name: "SIG125", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 125");
165 AddSignal(signo: 140, name: "SIG126", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 126");
166 AddSignal(signo: 141, name: "SIG127", default_suppress: false, default_stop: false, default_notify: false, description: "real-time event 127");
167
168 AddSignal(signo: 142, name: "SIGINFO", default_suppress: false, default_stop: true, default_notify: true, description: "information request");
169 AddSignal(signo: 143, name: "unknown", default_suppress: false, default_stop: true, default_notify: true, description: "unknown signal");
170
171 AddSignal(signo: 145, name: "EXC_BAD_ACCESS", default_suppress: false, default_stop: true, default_notify: true, description: "could not access memory");
172 AddSignal(signo: 146, name: "EXC_BAD_INSTRUCTION", default_suppress: false, default_stop: true, default_notify: true, description: "illegal instruction/operand");
173 AddSignal(signo: 147, name: "EXC_ARITHMETIC", default_suppress: false, default_stop: true, default_notify: true, description: "arithmetic exception");
174 AddSignal(signo: 148, name: "EXC_EMULATION", default_suppress: false, default_stop: true, default_notify: true, description: "emulation instruction");
175 AddSignal(signo: 149, name: "EXC_SOFTWARE", default_suppress: false, default_stop: true, default_notify: true, description: "software generated exception");
176 AddSignal(signo: 150, name: "EXC_BREAKPOINT", default_suppress: false, default_stop: true, default_notify: true, description: "breakpoint");
177
178 AddSignal(signo: 151, name: "SIGLIBRT", default_suppress: false, default_stop: true, default_notify: true, description: "librt internal signal");
179
180 // clang-format on
181}
182

source code of lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp