[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



Jan Beulich writes ("[PATCH] tools: work around collision of -O0 and 
-D_FORTIFY_SOURCE"):
> 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.
...
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -2,15 +2,24 @@
>  XEN_ROOT = $(CURDIR)/../..
>  include $(XEN_ROOT)/tools/Rules.mk
>  
> +py_cflags := $(shell $(PYTHON)-config --cflags)
> +PY_CFLAGS = $(if $(strip $(py_cflags)),,\
> +                 $(error '$(PYTHON)-config --cflags' produced no output))\
> +            $(if $(filter -D_FORTIFY_SOURCE=%,\
> +                          $(filter-out -D_FORTIFY_SOURCE=0,\
> +                                       $(py_cflags))),\
> +                 $(patsubst -O0,-O1,$(CFLAGS)),\
> +                 $(CFLAGS)) $(APPEND_LDFLAGS)

There are lots of copies of this.  And it would IMO be better to do at
least the probing in configure, resulting in something like this in
configure:

 [ determine PY_XCFLAGS to be either '' or '-O0' ]
 AC_SUBST(PY_XCFLAGS)

and

 PY_CFLAGS=@PY_CFLAGS@

    CC="$(CC)" CFLAGS="$(CFLAGS) $(PY_XCFLAGS)" $(PYTHON) setup.py build

(I assume that CFLAGS does override what comes out of setup.py.)

thanks,
Ian.

_______________________________________________
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®.