[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE



On 02/05/15 05:17, Jan Beulich wrote:
>>>> On 05.02.15 at 00:33, <dslutz@xxxxxxxxxxx> wrote:
>> On 02/04/15 12:01, Jan Beulich wrote:
>>> The former gets enforced by our debug builds, the latter appears to be
>>> not uncommon for certain distros' Python packages. Newer glibc warns on
>>> uses of _FORTIFY_SOURCE without optimization being enabled, which with
>>> -Werror causes the build to fail.
>>>
>>> Determine Python's intended flags to be passed to the C compiler via
>>> "python-config --cflags", and replace -O0 by -O1 when a non-zero value
>>> gets set for _FORTIFY_SOURCE.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>>
>> Well, this does not fix debug=y builds for me:
>> [...]
>> gcc -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
> 
> Where is this -Wp,-D_FORTIFY_SOURCE=2 coming from? Is
> python-config producing this? The patch provided certainly doesn't
> deal with that case.

Here is what I get for python-config:


dcs-xen-54:~/xen-master>python-config --cflags
-I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing
-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv



> 
>> Using this change:
>>
>> dcs-xen-54:~/xen-master>git show | cat
>> commit 3cda306a162e55d73c25efc14840e7afeec8d3d3
>> Author: Don Slutz <dslutz@xxxxxxxxxxx>
>> Date:   Wed Feb 4 17:57:00 2015 -0500
>>
>>     tools/Rules.mk: Drop -O0 for debug=y
>>
>>     This is a partial revert of
>>
>>     commit 1166ecf781b1016eaa61f8d5ba4fb1fde9d599b6
>>     Author: Euan Harris <euan.harris@xxxxxxxxxx>
>>     Date:   Mon Dec 1 14:21:05 2014 +0000
>>
>>         tools/Rules.mk: Don't optimize debug builds; add macro debugging
>> information
>>
>>     Signed-off-by: Don Slutz <dslutz@xxxxxxxxxxx>
>>
>> diff --git a/tools/Rules.mk b/tools/Rules.mk
>> index 74cf37e..8bf603d 100644
>> --- a/tools/Rules.mk
>> +++ b/tools/Rules.mk
>> @@ -56,7 +56,7 @@ SHLIB_libxenvchan  = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>>
>>  ifeq ($(debug),y)
>>  # Disable optimizations and enable debugging information for macros
>> -CFLAGS += -O0 -g3
>> +CFLAGS += -g3
>>  endif
>>
>>  LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
>>
>>
>> I can now build with "debug=y" on Fedora 17.
> 
> If you went through the earlier discussion, you'd have seen that
> this was already rejected as a possible fix.

Sorry I did not see this.

   -Don Slutz

> 
> Jan
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.