[arch-dev-public] Add -fstack-protector{-all} to default CFLAGS?

Jan de Groot jan at jgc.homeip.net
Wed May 12 02:49:53 EDT 2010


On Wed, 2010-05-12 at 12:35 +1000, Allan McRae wrote:
> Hi,
> 
> We have a bug report asking to enable stack-smashing protection in our 
> package building.  Looking at the overhead estimates by other distros 
> that use it, overall it appears fairly minimal (OpenBSD says 1.3% on 
> average).  There used to be some build issues (see bottom of this page 
> for Ubuntu report: https://wiki.ubuntu.com/GccSsp), but I am not sure of 
> the current status.  Also, it can be disabled with -fno-stack-protector 
> if needed.
> 
> I am in favour of doing this.  I think adding -fstack-protector is 
> enough as that adds protection to only functions "vulnerable" to buffer 
> overflows (as defined by gcc...  mainly character arrays) while 
> -fstack-protector-all adds it to all functions.
> 
> We should maybe also add -D_FORTIFY_SOURCE=2.  This detects some buffer 
> overflows compile time and others at run time.  It was designed to have 
> minimal runtime overhead.
> 
> Any opinions?

Given the fact that GCC 4.5 produces broken binaries with software that
needs -fno-strict-aliasing (busybox comes to mind, but also others), I
don't think it's good to introduce such a change now. Our toolchain
should get fixed before we attempt to add more features to our compiler
flags.



More information about the arch-dev-public mailing list