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

Re: [Xen-devel] [PATCH v2] tools/Rules.mk: Don't optimize debug builds; add macro debugging information



On Mon, 2014-12-01 at 14:21 +0000, Euan Harris wrote:
> Tools debug builds are built with optimization level -O1, inherited from
> the CFLAGS definition in StdGNU.mk.   Optimizations confuse the debugger,
> and the comment justifying -O1 in StdGNU.mk should not apply for a
> userspace library.

(For others, that comment reads: Less than -O1 produces bad code and
large stack frames)

>    Disable optimization by appending -O0 to CFLAGS,
> which overrides the -O1 flag specified earlier.
> 
> Also specify -g3, to add macro debugging information which allows
> gdb to expand macro invocations.   This is useful as libxl uses many
> non-trivial macros.
> 
> Signed-off-by: Euan Harris <euan.harris@xxxxxxxxxx>
> 
> Changes since v1:
>   * moved flag override to tools/Rules.mk so it affects all tools
> ---
>  tools/Rules.mk |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index 87a56dc..7ef1ce5 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -54,6 +54,11 @@ CFLAGS_libxenvchan = -I$(XEN_LIBVCHAN)
>  LDLIBS_libxenvchan = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) 
> -L$(XEN_LIBVCHAN) -lxenvchan
>  SHLIB_libxenvchan  = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>  
> +ifeq ($(debug),y)
> +# Disable optimizations and debugging information for macros
                               ^enable

... or else it looks like you are saying it should be turning of macro
debug info too. This is something which can be done on commit.

Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

> +CFLAGS += -O0 -g3
> +endif
> +
>  LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
>  
>  ifeq ($(LIBXL_BLKTAP),y)



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