Most of the mature compilers appear to have good support for stack variable clobbers.
- GCC: -fstack-protector
- xlC: -qstackprotect
- intel: -fstackprotector
- windows: /RTC
For clang I've found -fsanitize=safe-stack, but it doesn't support shared libraries, which makes it pretty much useless for me.
It looks like that sanitizer is implemented as an add-on? Does anybody know if clang has any sort of alternate (built-in?) anti stack-smashing support that doesn't have the no shared library restriction, or if there are plans to generalize the existing limited safe-stack implementation to catch up to all the other compilers?