Il 06/02/2013 15:49, Stefan Hajnoczi ha scritto:
>> > I don't think that's necessary. The 2nd level is the highest one [1] or 
>> > [2].
>> > It seems like in my case it's compiler who's defining the macro:
>> > 
>> > $ echo "int main() {return 0;}" | gcc -D_FORTIFY_SOURCE=2 -x c -
>> > <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by 
>> > default]
>> > <stdin>:1:0: note: this is the location of the previous definition
>> > 
>> > in which case we must undefine it. However, if the _FORTIFY_SOURCE is
>> > defined by environment, I think we should not override it. So maybe need
>> > a different approach. Anyway, with current state I cannot compile. I am 
>> > using
>> > gcc version 4.7.2 (Gentoo 4.7.2 p1.3, pie-0.5.5)
> It would be nice to fix this for QEMU 1.4 but my gcc FORTIFY_SOURCE foo
> is not strong enough to know what the best approach is here.
> 
> Reviews from anyone else?

I would prefer to avoid having _FORTIFY_SOURCE completely, and let
distros do it.  Alternatively, tie it to a new --enable switch which
would do -U -D.

But if there is a real problem for 1.4 the patch looks good.

Paolo

Reply via email to