#include #include #include void sigbus_handler(int signo) { _exit(47); } int target_function() { return 47; } int main() { signal(SIGBUS, sigbus_handler); // Generate a SIGBUS by deliverately calling through an unaligned function // pointer. union { int (*t)(); uintptr_t p; } u; u.t = target_function; u.p |= 1; return u.t(); }