Fix always true condition
The condition was checking tac_prompt which is a static array, so it
will always return some address. Now checking the value of the first
element of the array, which can be zero on non-zero.
C compiler hardening options
Add checks for C compiler hardening options (stack protector etc)
and use them if available.