#include <signal.h>
#include <unistd.h>
int __attribute__((naked)) signal_generating_add(int a, int b) {
asm("add w0, w1, w0\n\t"
"udf #0xdead\n\t"
"ret");
}
void sigill_handler(int signo) { _exit(0); }
int main() {
signal(SIGILL, sigill_handler);
return signal_generating_add(42, 47);
}