On Wed, 16 Nov 2005, Richard Henderson wrote:

> On Wed, Nov 16, 2005 at 10:02:23PM +0100, Peter S. Mazinger wrote:
> > On Wed, 16 Nov 2005, Richard Henderson wrote:
> > 
> > > On Wed, Nov 16, 2005 at 08:40:11PM +0100, Peter S. Mazinger wrote:
> > > > On Wed, 16 Nov 2005, Richard Henderson wrote:
> > > > 
> > > > > On Tue, Nov 15, 2005 at 09:01:21PM +0100, Peter S. Mazinger wrote:
> > > > > > I meant exactly this, gcc supports -fno-stack-protector (although 
> > > > > > gcc 
> > > > > > defaults to no-ssp), so -fno-stack-protector-all should be there too
> > > > > 
> > > > > Why?  What option would it perform?
> > > > 
> > > > to have the possibility to override an earlier one, as it is done w/ 
> > > > many 
> > > > fno* options. Why should this one not have it's counterpart.
> > > 
> > > There are three states we can be in:
> > > 
> > >   (0) no stack protection         -fno-stack-protector
> > >   (1) heuristic stack protection  -fstack-protector
> > >   (2) all stack protection                -fstack-protector-all
> > > 
> > > All of these three states have corresponding switches.  You can
> > > use any of them at any time.
> > 
> > True for default configs. Let's consider though other distros like 
> > ubuntu/adamantix/gentoo that can default to "(2) all stack protection"
> > but sometimes, due to problems (mainly c++) -all has to be disabled. 
> > -fno-stack-protector would disable all the protection, that is not what 
> > would be needed.
> 
> Use -fstack-protector to return to state (1).

you missed the example earlier, or the behaviour of these 2 flags are not 
like they were earlier.

what happens w/ -fstack-protector-all -fstack-protector (in this order) ? 
do we have (2) or (1)
If the order is relevant then (1) will apply.

so now it does
-fstack-protector #define __SSP__ 1 ; #undef __SSP_ALL__
-fstack-protector-all #define __SSP_ALL__ 2 ; #undef __SSP__

and the last wins.

I think this is not quite correct, because -all is a 
superset of -fstack-protector, so it also should define __SSP__ 1

Peter

-- 
Peter S. Mazinger <ps dot m at gmx dot net>           ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08  BB6E C389 975E A5F0 59F2

Reply via email to