I have written an application in C, and I\'m trying to understand what is the purpose of the -fno-stack-protector command when compiling. For my specific applic
There are three reasons why you may want to turn this off,
You're building a shared a library where this may matter and other functions make assumptions about the stack.
You're concerned about performance.
You want to build vulnerable software. This very frequently happens with Capture The Flag (CTFs) and the like, as in the case if you wanted to build Protostar to demonstrate an exploit that you wouldn't otherwise be vulnerable too.