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

Re: [Xen-devel] [PATCH] libxl/Makefile: Don't optimize debug builds; add macro debugging information

On Mon, 2014-12-01 at 10:39 +0000, Euan Harris wrote:
> libxl 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.   Disable optimization by appending -O0 to CFLAGS,
> which overrides the -O1 flag specified earlier.

I think if this argument applies (I see no reason to disagree) then it
should apply to the whole of tools/* or at least to tools/lib* and not
just to libxl. IOW this probably belongs at a higher level somewhere.

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

Useful, I'd never heard of this. Do you know which version of gcc
introduced it? (AKA do we need to make it part of configure.ac to check
availability or not).

Not sure if you were proposing this change for 4.5 or not.

> Signed-off-by: Euan Harris <euan.harris@xxxxxxxxxx>
> ---
>  tools/libxl/Makefile |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index df08c8a..26d8679 100644
> --- a/tools/libxl/Makefile
> +++ b/tools/libxl/Makefile
> @@ -15,6 +15,12 @@ CFLAGS += -Werror -Wno-format-zero-length 
> -Wmissing-declarations \
>       -Wno-declaration-after-statement -Wformat-nonliteral
>  CFLAGS += -I. -fPIC
> +ifeq ($(debug),y)
> +# Disable optimizations and debugging information for macros
> +CFLAGS += -O0 -g3
> +endif
> +
> +
>  ifeq ($(CONFIG_Linux),y)
>  LIBUUID_LIBS += -luuid
>  endif

Xen-devel mailing list



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