Send the signal by calling kill() directly

Accessing the invalid address finally causes SIGILL when
the test is executed with the compiler: clang, although
we expect SIGSEGV.  So we send the signal directly.