On 06.02.2013 16:09, Paolo Bonzini wrote: > 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 >
Sorry for resurrecting such old thread, but what's the conclusion then? I keep hitting this problem and I am tired of having one single patch on the top of HEAD. And I bet others ran into this as well. Michal