15ffd83dbSDimitry Andric //===-- MipsLinuxSignals.cpp ----------------------------------------------===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric 
90b57cec5SDimitry Andric #include "MipsLinuxSignals.h"
100b57cec5SDimitry Andric 
110b57cec5SDimitry Andric using namespace lldb_private;
120b57cec5SDimitry Andric 
MipsLinuxSignals()130b57cec5SDimitry Andric MipsLinuxSignals::MipsLinuxSignals() : UnixSignals() { Reset(); }
140b57cec5SDimitry Andric 
Reset()150b57cec5SDimitry Andric void MipsLinuxSignals::Reset() {
160b57cec5SDimitry Andric   m_signals.clear();
17*af732203SDimitry Andric   // clang-format off
18*af732203SDimitry Andric   //        SIGNO   NAME            SUPPRESS  STOP    NOTIFY  DESCRIPTION
19*af732203SDimitry Andric   //        ======  ==============  ========  ======  ======  ===================================================
200b57cec5SDimitry Andric   AddSignal(1, "SIGHUP",            false,    true,   true,   "hangup");
210b57cec5SDimitry Andric   AddSignal(2, "SIGINT",            true,     true,   true,   "interrupt");
220b57cec5SDimitry Andric   AddSignal(3, "SIGQUIT",           false,    true,   true,   "quit");
230b57cec5SDimitry Andric   AddSignal(4, "SIGILL",            false,    true,   true,   "illegal instruction");
24*af732203SDimitry Andric   AddSignal(5, "SIGTRAP",           true,     true,   true,   "trace trap (not reset when caught)");
250b57cec5SDimitry Andric   AddSignal(6, "SIGABRT",           false,    true,   true,   "abort()/IOT trap", "SIGIOT");
260b57cec5SDimitry Andric   AddSignal(7, "SIGEMT",            false,    true,   true,   "terminate process with core dump");
270b57cec5SDimitry Andric   AddSignal(8, "SIGFPE",            false,    true,   true,   "floating point exception");
280b57cec5SDimitry Andric   AddSignal(9, "SIGKILL",           false,    true,   true,   "kill");
290b57cec5SDimitry Andric   AddSignal(10, "SIGBUS",           false,    true,   true,   "bus error");
300b57cec5SDimitry Andric   AddSignal(11, "SIGSEGV",          false,    true,   true,   "segmentation violation");
310b57cec5SDimitry Andric   AddSignal(12, "SIGSYS",           false,    true,   true,   "invalid system call");
32*af732203SDimitry Andric   AddSignal(13, "SIGPIPE",          false,    true,   true,   "write to pipe with reading end closed");
330b57cec5SDimitry Andric   AddSignal(14, "SIGALRM",          false,    false,  false,  "alarm");
340b57cec5SDimitry Andric   AddSignal(15, "SIGTERM",          false,    true,   true,   "termination requested");
350b57cec5SDimitry Andric   AddSignal(16, "SIGUSR1",          false,    true,   true,   "user defined signal 1");
360b57cec5SDimitry Andric   AddSignal(17, "SIGUSR2",          false,    true,   true,   "user defined signal 2");
37*af732203SDimitry Andric   AddSignal(18, "SIGCHLD",          false,    false,  true,   "child status has changed", "SIGCLD");
380b57cec5SDimitry Andric   AddSignal(19, "SIGPWR",           false,    true,   true,   "power failure");
390b57cec5SDimitry Andric   AddSignal(20, "SIGWINCH",         false,    true,   true,   "window size changes");
400b57cec5SDimitry Andric   AddSignal(21, "SIGURG",           false,    true,   true,   "urgent data on socket");
41*af732203SDimitry Andric   AddSignal(22, "SIGIO",            false,    true,   true,   "input/output ready/Pollable event", "SIGPOLL");
420b57cec5SDimitry Andric   AddSignal(23, "SIGSTOP",          true,     true,   true,   "process stop");
430b57cec5SDimitry Andric   AddSignal(24, "SIGTSTP",          false,    true,   true,   "tty stop");
44*af732203SDimitry Andric   AddSignal(25, "SIGCONT",          false,    false,  true,   "process continue");
450b57cec5SDimitry Andric   AddSignal(26, "SIGTTIN",          false,    true,   true,   "background tty read");
460b57cec5SDimitry Andric   AddSignal(27, "SIGTTOU",          false,    true,   true,   "background tty write");
470b57cec5SDimitry Andric   AddSignal(28, "SIGVTALRM",        false,    true,   true,   "virtual time alarm");
480b57cec5SDimitry Andric   AddSignal(29, "SIGPROF",          false,    false,  false,  "profiling time alarm");
490b57cec5SDimitry Andric   AddSignal(30, "SIGXCPU",          false,    true,   true,   "CPU resource exceeded");
500b57cec5SDimitry Andric   AddSignal(31, "SIGXFSZ",          false,    true,   true,   "file size limit exceeded");
51*af732203SDimitry Andric   AddSignal(32, "SIG32",            false,    false,  false,  "threading library internal signal 1");
52*af732203SDimitry Andric   AddSignal(33, "SIG33",            false,    false,  false,  "threading library internal signal 2");
530b57cec5SDimitry Andric   AddSignal(34, "SIGRTMIN",         false,    false,  false,  "real time signal 0");
540b57cec5SDimitry Andric   AddSignal(35, "SIGRTMIN+1",       false,    false,  false,  "real time signal 1");
550b57cec5SDimitry Andric   AddSignal(36, "SIGRTMIN+2",       false,    false,  false,  "real time signal 2");
560b57cec5SDimitry Andric   AddSignal(37, "SIGRTMIN+3",       false,    false,  false,  "real time signal 3");
570b57cec5SDimitry Andric   AddSignal(38, "SIGRTMIN+4",       false,    false,  false,  "real time signal 4");
580b57cec5SDimitry Andric   AddSignal(39, "SIGRTMIN+5",       false,    false,  false,  "real time signal 5");
590b57cec5SDimitry Andric   AddSignal(40, "SIGRTMIN+6",       false,    false,  false,  "real time signal 6");
600b57cec5SDimitry Andric   AddSignal(41, "SIGRTMIN+7",       false,    false,  false,  "real time signal 7");
610b57cec5SDimitry Andric   AddSignal(42, "SIGRTMIN+8",       false,    false,  false,  "real time signal 8");
620b57cec5SDimitry Andric   AddSignal(43, "SIGRTMIN+9",       false,    false,  false,  "real time signal 9");
630b57cec5SDimitry Andric   AddSignal(44, "SIGRTMIN+10",      false,    false,  false,  "real time signal 10");
640b57cec5SDimitry Andric   AddSignal(45, "SIGRTMIN+11",      false,    false,  false,  "real time signal 11");
650b57cec5SDimitry Andric   AddSignal(46, "SIGRTMIN+12",      false,    false,  false,  "real time signal 12");
660b57cec5SDimitry Andric   AddSignal(47, "SIGRTMIN+13",      false,    false,  false,  "real time signal 13");
670b57cec5SDimitry Andric   AddSignal(48, "SIGRTMIN+14",      false,    false,  false,  "real time signal 14");
680b57cec5SDimitry Andric   AddSignal(49, "SIGRTMIN+15",      false,    false,  false,  "real time signal 15");
69*af732203SDimitry Andric   AddSignal(50, "SIGRTMAX-14",      false,    false,  false,  "real time signal 16"); // switching to SIGRTMAX-xxx to match "kill -l" output
700b57cec5SDimitry Andric   AddSignal(51, "SIGRTMAX-13",      false,    false,  false,  "real time signal 17");
710b57cec5SDimitry Andric   AddSignal(52, "SIGRTMAX-12",      false,    false,  false,  "real time signal 18");
720b57cec5SDimitry Andric   AddSignal(53, "SIGRTMAX-11",      false,    false,  false,  "real time signal 19");
730b57cec5SDimitry Andric   AddSignal(54, "SIGRTMAX-10",      false,    false,  false,  "real time signal 20");
740b57cec5SDimitry Andric   AddSignal(55, "SIGRTMAX-9",       false,    false,  false,  "real time signal 21");
750b57cec5SDimitry Andric   AddSignal(56, "SIGRTMAX-8",       false,    false,  false,  "real time signal 22");
760b57cec5SDimitry Andric   AddSignal(57, "SIGRTMAX-7",       false,    false,  false,  "real time signal 23");
770b57cec5SDimitry Andric   AddSignal(58, "SIGRTMAX-6",       false,    false,  false,  "real time signal 24");
780b57cec5SDimitry Andric   AddSignal(59, "SIGRTMAX-5",       false,    false,  false,  "real time signal 25");
790b57cec5SDimitry Andric   AddSignal(60, "SIGRTMAX-4",       false,    false,  false,  "real time signal 26");
800b57cec5SDimitry Andric   AddSignal(61, "SIGRTMAX-3",       false,    false,  false,  "real time signal 27");
810b57cec5SDimitry Andric   AddSignal(62, "SIGRTMAX-2",       false,    false,  false,  "real time signal 28");
820b57cec5SDimitry Andric   AddSignal(63, "SIGRTMAX-1",       false,    false,  false,  "real time signal 29");
830b57cec5SDimitry Andric   AddSignal(64, "SIGRTMAX",         false,    false,  false,  "real time signal 30");
84*af732203SDimitry Andric   // clang-format on
850b57cec5SDimitry Andric }
86