14#define ADD_SIGCODE(signal_name, signal_value, code_name, code_value, ...) \
15 static_assert(signal_name == signal_value, \
16 "Value mismatch for signal number " #signal_name); \
17 static_assert(code_name == code_value, \
18 "Value mismatch for signal code " #code_name); \
19 AddSignalCode(signal_value, code_value, __VA_ARGS__)
21#define ADD_SIGCODE(signal_name, signal_value, code_name, code_value, ...) \
22 AddSignalCode(signal_value, code_value, __VA_ARGS__)
34 ADD_SIGCODE(SIGILL, 4, ILL_ILLOPC, 1,
"illegal opcode");
35 ADD_SIGCODE(SIGILL, 4, ILL_ILLOPN, 2,
"illegal operand");
36 ADD_SIGCODE(SIGILL, 4, ILL_ILLADR, 3,
"illegal addressing mode");
37 ADD_SIGCODE(SIGILL, 4, ILL_ILLTRP, 4,
"illegal trap");
38 ADD_SIGCODE(SIGILL, 4, ILL_PRVOPC, 5,
"privileged opcode");
39 ADD_SIGCODE(SIGILL, 4, ILL_PRVREG, 6,
"privileged register");
40 ADD_SIGCODE(SIGILL, 4, ILL_COPROC, 7,
"coprocessor error");
41 ADD_SIGCODE(SIGILL, 4, ILL_BADSTK, 8,
"internal stack error");
44 ADD_SIGCODE(SIGFPE, 8, FPE_INTOVF, 1,
"integer overflow");
45 ADD_SIGCODE(SIGFPE, 8, FPE_INTDIV, 2,
"integer divide by zero");
46 ADD_SIGCODE(SIGFPE, 8, FPE_FLTDIV, 3,
"floating point divide by zero");
47 ADD_SIGCODE(SIGFPE, 8, FPE_FLTOVF, 4,
"floating point overflow");
48 ADD_SIGCODE(SIGFPE, 8, FPE_FLTUND, 5,
"floating point underflow");
49 ADD_SIGCODE(SIGFPE, 8, FPE_FLTRES, 6,
"floating point inexact result");
50 ADD_SIGCODE(SIGFPE, 8, FPE_FLTINV, 7,
"invalid floating point operation");
51 ADD_SIGCODE(SIGFPE, 8, FPE_FLTSUB, 8,
"subscript out of range");
52 ADD_SIGCODE(SIGFPE, 8, FPE_FLTIDO, 9,
"input denormal operation");
55 ADD_SIGCODE(SIGBUS, 10, BUS_ADRALN, 1,
"invalid address alignment");
56 ADD_SIGCODE(SIGBUS, 10, BUS_ADRERR, 2,
"nonexistent physical address");
57 ADD_SIGCODE(SIGBUS, 10, BUS_OBJERR, 3,
"object-specific hardware error");
58 ADD_SIGCODE(SIGBUS, 10, BUS_OOMERR, 100,
"no memory");
61 ADD_SIGCODE(SIGSEGV, 11, SEGV_MAPERR, 1,
"address not mapped to object",
63 ADD_SIGCODE(SIGSEGV, 11, SEGV_ACCERR, 2,
"invalid permissions for mapped object",
65 ADD_SIGCODE(SIGSEGV, 11, SEGV_PKUERR, 100,
"PKU violation",
70 AddSignal(32,
"SIGTHR",
false,
false,
false,
"thread interrupt");
71 AddSignal(33,
"SIGLIBRT",
false,
false,
false,
"reserved by real-time library");
72 AddSignal(65,
"SIGRTMIN",
false,
false,
false,
"real time signal 0");
73 AddSignal(66,
"SIGRTMIN+1",
false,
false,
false,
"real time signal 1");
74 AddSignal(67,
"SIGRTMIN+2",
false,
false,
false,
"real time signal 2");
75 AddSignal(68,
"SIGRTMIN+3",
false,
false,
false,
"real time signal 3");
76 AddSignal(69,
"SIGRTMIN+4",
false,
false,
false,
"real time signal 4");
77 AddSignal(70,
"SIGRTMIN+5",
false,
false,
false,
"real time signal 5");
78 AddSignal(71,
"SIGRTMIN+6",
false,
false,
false,
"real time signal 6");
79 AddSignal(72,
"SIGRTMIN+7",
false,
false,
false,
"real time signal 7");
80 AddSignal(73,
"SIGRTMIN+8",
false,
false,
false,
"real time signal 8");
81 AddSignal(74,
"SIGRTMIN+9",
false,
false,
false,
"real time signal 9");
82 AddSignal(75,
"SIGRTMIN+10",
false,
false,
false,
"real time signal 10");
83 AddSignal(76,
"SIGRTMIN+11",
false,
false,
false,
"real time signal 11");
84 AddSignal(77,
"SIGRTMIN+12",
false,
false,
false,
"real time signal 12");
85 AddSignal(78,
"SIGRTMIN+13",
false,
false,
false,
"real time signal 13");
86 AddSignal(79,
"SIGRTMIN+14",
false,
false,
false,
"real time signal 14");
87 AddSignal(80,
"SIGRTMIN+15",
false,
false,
false,
"real time signal 15");
88 AddSignal(81,
"SIGRTMIN+16",
false,
false,
false,
"real time signal 16");
89 AddSignal(82,
"SIGRTMIN+17",
false,
false,
false,
"real time signal 17");
90 AddSignal(83,
"SIGRTMIN+18",
false,
false,
false,
"real time signal 18");
91 AddSignal(84,
"SIGRTMIN+19",
false,
false,
false,
"real time signal 19");
92 AddSignal(85,
"SIGRTMIN+20",
false,
false,
false,
"real time signal 20");
93 AddSignal(86,
"SIGRTMIN+21",
false,
false,
false,
"real time signal 21");
94 AddSignal(87,
"SIGRTMIN+22",
false,
false,
false,
"real time signal 22");
95 AddSignal(88,
"SIGRTMIN+23",
false,
false,
false,
"real time signal 23");
96 AddSignal(89,
"SIGRTMIN+24",
false,
false,
false,
"real time signal 24");
97 AddSignal(90,
"SIGRTMIN+25",
false,
false,
false,
"real time signal 25");
98 AddSignal(91,
"SIGRTMIN+26",
false,
false,
false,
"real time signal 26");
99 AddSignal(92,
"SIGRTMIN+27",
false,
false,
false,
"real time signal 27");
100 AddSignal(93,
"SIGRTMIN+28",
false,
false,
false,
"real time signal 28");
101 AddSignal(94,
"SIGRTMIN+29",
false,
false,
false,
"real time signal 29");
102 AddSignal(95,
"SIGRTMIN+30",
false,
false,
false,
"real time signal 30");
103 AddSignal(96,
"SIGRTMAX-30",
false,
false,
false,
"real time signal 31");
104 AddSignal(97,
"SIGRTMAX-29",
false,
false,
false,
"real time signal 32");
105 AddSignal(98,
"SIGRTMAX-28",
false,
false,
false,
"real time signal 33");
106 AddSignal(99,
"SIGRTMAX-27",
false,
false,
false,
"real time signal 34");
107 AddSignal(100,
"SIGRTMAX-26",
false,
false,
false,
"real time signal 35");
108 AddSignal(101,
"SIGRTMAX-25",
false,
false,
false,
"real time signal 36");
109 AddSignal(102,
"SIGRTMAX-24",
false,
false,
false,
"real time signal 37");
110 AddSignal(103,
"SIGRTMAX-23",
false,
false,
false,
"real time signal 38");
111 AddSignal(104,
"SIGRTMAX-22",
false,
false,
false,
"real time signal 39");
112 AddSignal(105,
"SIGRTMAX-21",
false,
false,
false,
"real time signal 40");
113 AddSignal(106,
"SIGRTMAX-20",
false,
false,
false,
"real time signal 41");
114 AddSignal(107,
"SIGRTMAX-19",
false,
false,
false,
"real time signal 42");
115 AddSignal(108,
"SIGRTMAX-18",
false,
false,
false,
"real time signal 43");
116 AddSignal(109,
"SIGRTMAX-17",
false,
false,
false,
"real time signal 44");
117 AddSignal(110,
"SIGRTMAX-16",
false,
false,
false,
"real time signal 45");
118 AddSignal(111,
"SIGRTMAX-15",
false,
false,
false,
"real time signal 46");
119 AddSignal(112,
"SIGRTMAX-14",
false,
false,
false,
"real time signal 47");
120 AddSignal(113,
"SIGRTMAX-13",
false,
false,
false,
"real time signal 48");
121 AddSignal(114,
"SIGRTMAX-12",
false,
false,
false,
"real time signal 49");
122 AddSignal(115,
"SIGRTMAX-11",
false,
false,
false,
"real time signal 50");
123 AddSignal(116,
"SIGRTMAX-10",
false,
false,
false,
"real time signal 51");
124 AddSignal(117,
"SIGRTMAX-9",
false,
false,
false,
"real time signal 52");
125 AddSignal(118,
"SIGRTMAX-8",
false,
false,
false,
"real time signal 53");
126 AddSignal(119,
"SIGRTMAX-7",
false,
false,
false,
"real time signal 54");
127 AddSignal(120,
"SIGRTMAX-6",
false,
false,
false,
"real time signal 55");
128 AddSignal(121,
"SIGRTMAX-5",
false,
false,
false,
"real time signal 56");
129 AddSignal(122,
"SIGRTMAX-4",
false,
false,
false,
"real time signal 57");
130 AddSignal(123,
"SIGRTMAX-3",
false,
false,
false,
"real time signal 58");
131 AddSignal(124,
"SIGRTMAX-2",
false,
false,
false,
"real time signal 59");
132 AddSignal(125,
"SIGRTMAX-1",
false,
false,
false,
"real time signal 60");
133 AddSignal(126,
"SIGRTMAX",
false,
false,
false,
"real time signal 61");
#define ADD_SIGCODE(signal_name, signal_value, code_name, code_value,...)
void AddSignal(int signo, const char *name, bool default_suppress, bool default_stop, bool default_notify, const char *description, const char *alias=nullptr)
A class that represents a running process on the host machine.