Output redirection is now sh-compatible
The calculation of the address of the return address and the old
base pointer is now more reliable by using __builtin_frame_address.
It now works for both GCC and LLVM.
Moved bss_mem_ptr to after the BSS buffers so that it is placed after
these buffers in memory by LLVM. Strangly, this seems to make no
difference for GCC...
Made heap_func_ptr a pointer to a function pointer instead of just a
function pointer. Also, initialize *heap_func_ptr with fooz if it's
used and when it's loaded, load it is a function pointer instead of
as a long. This way, function pointer protection techniques can
detect it as being a function pointer.
Merge pull request #1 from jobnoorman/llvm

Make sure exploits work when compiling with LLVM