In the assembler, replace abort() with panic(), for better debuggability. This shouldn't be necessary, but setting a breakpoint on abort(), or waiting for the SIGABRT, causes gdb on amd64 to lose the stack(!).