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