Defeating Compiler-level Buffer Overflow Protection