xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Olaf Hering <olaf@aepfle.de>
To: Jan Beulich <JBeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Tim Deegan <tim@xen.org>, Ian Jackson <ian.jackson@eu.citrix.com>,
	xen-devel@lists.xen.org,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Keir Fraser <keir@xen.org>,
	David Scott <dave.scott@eu.citrix.com>
Subject: Re: [PATCH 28/28 v2] Separate runtime debug output from debug symbols
Date: Fri, 26 Sep 2014 16:02:56 +0200	[thread overview]
Message-ID: <20140926140256.GA9255@aepfle.de> (raw)
In-Reply-To: <5425708D02000078000399B7@mail.emea.novell.com>

On Fri, Sep 26, Jan Beulich wrote:

> >>> On 26.09.14 at 13:40, <olaf@aepfle.de> wrote:
> > --- a/xen/Rules.mk
> > +++ b/xen/Rules.mk
> > @@ -10,6 +10,10 @@ lock_profile  ?= n
> >  crash_debug   ?= n
> >  frame_pointer ?= n
> >  lto           ?= n
> > +debug_xen     ?= y
> > +debuginfo_xen ?= y
> > +debug         := $(debug_xen)
> > +debug_symbols := $(debuginfo_xen)
> 
> I'm not sure I want to see this do away with the old mechanism
> altogether - various of my testing build flavors depend on overriding
> the "debug" variable, and I wouldn't want to change all their .config
> files. At least for a certain period of time the latter two should
> probably continue to use ?=.

I think .config will continue to work with a "debug := y" and also 'make
debug=y'.

> > @@ -43,7 +47,10 @@ ALL_OBJS-$(x86)          += $(BASEDIR)/crypto/built_in.o
> >  
> >  CFLAGS += -fno-builtin -fno-common
> >  CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
> > -CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
> > +ifeq ($(debug_symbols),y)
> > +CFLAGS += -g
> > +endif
> > +CFLAGS += -pipe -D__XEN__ -include $(BASEDIR)/include/xen/config.h
> >  CFLAGS += -nostdinc
> >  
> >  CFLAGS-$(XSM_ENABLE)    += -DXSM_ENABLE
> 
> The context here shows that CFLAGS-y gets used elsewhere, so
> please do so too above. And if possible this should be considered
> elsewhere too.

I'm not sure what you mean? The hunk just makes "-g" conditional.

> In any event I don't see this change as important enough to
> warrant overriding the feature freeze.

Regarding feature freeze, that small version below for 'make debug=yn
debug_symbols=yn' will work for me as well.

Olaf


    Separate runtime debug output from debug symbols
    
    With this change debug and debug_symbols is used consistently.
    With 'make debug=yn debug_symbols=yn' my rebuild time and diskspace
    usage goes down:
       105275K clean xen.git checkout.
    y 1247041K build time: 5:57
    n  812112K build time: 5:34
    
    No change in behaviour is expected by that patch for tools and xen.
    For stubdom CFLAGS change from -O1 to O2 with debug=n.
    
    Signed-off-by: Olaf Hering <olaf@aepfle.de>
    Cc: David Scott <dave.scott@eu.citrix.com>
    Cc: Ian Campbell <ian.campbell@citrix.com>
    Cc: Ian Jackson <ian.jackson@eu.citrix.com>
    Cc: Jan Beulich <jbeulich@suse.com>
    Cc: Keir Fraser <keir@xen.org>
    Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Cc: Tim Deegan <tim@xen.org>
    Cc: Wei Liu <wei.liu2@citrix.com>

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 9dac103..60dc0b8 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -4,9 +4,8 @@ MINI_OS = $(XEN_ROOT)/extras/mini-os
 export XEN_OS=MiniOS
 
 export stubdom=y
-export debug=y
-include $(XEN_ROOT)/Config.mk
 -include $(XEN_ROOT)/config/Stubdom.mk
+include $(XEN_ROOT)/Config.mk
 
 GNU_TARGET_ARCH:=$(XEN_TARGET_ARCH)
 ifeq ($(XEN_TARGET_ARCH),x86_32)
diff --git a/tools/Makefile b/tools/Makefile
index 4afadfd..9ae1ab1 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -189,6 +189,12 @@ else
 QEMU_XEN_ENABLE_DEBUG :=
 endif
 
+ifeq ($(debug_symbols),y)
+QEMU_XEN_ENABLE_DEBUG_SYMBOLS := --enable-debug-info --disable-strip
+else
+QEMU_XEN_ENABLE_DEBUG_SYMBOLS := --disable-debug-info
+endif
+
 subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	if test -d $(QEMU_UPSTREAM_LOC) ; then \
 		source=$(QEMU_UPSTREAM_LOC); \
@@ -198,6 +204,7 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
 	cd qemu-xen-dir; \
 	$$source/configure --enable-xen --target-list=i386-softmmu \
 		$(QEMU_XEN_ENABLE_DEBUG) \
+		$(QEMU_XEN_ENABLE_DEBUG_SYMBOLS) \
 		--prefix=$(LIBEXEC) \
 		--libdir=$(LIBEXEC_LIB) \
 		--includedir=$(LIBEXEC_INC) \
diff --git a/tools/ocaml/common.make b/tools/ocaml/common.make
index d5478f6..33b3142 100644
--- a/tools/ocaml/common.make
+++ b/tools/ocaml/common.make
@@ -13,7 +13,10 @@ CFLAGS += -fPIC -Werror -I$(shell ocamlc -where)
 
 OCAMLOPTFLAG_G := $(shell $(OCAMLOPT) -h 2>&1 | sed -n 's/^  *\(-g\) .*/\1/p')
 OCAMLOPTFLAGS = $(OCAMLOPTFLAG_G) -ccopt "$(LDFLAGS)" -dtypes $(OCAMLINCLUDE) -cc $(CC) -w F -warn-error F
-OCAMLCFLAGS += -g $(OCAMLINCLUDE) -w F -warn-error F
+ifeq ($(debug_symbols),y)
+OCAMLCFLAGS += -g
+endif
+OCAMLCFLAGS += $(OCAMLINCLUDE) -w F -warn-error F
 
 VERSION := 4.1
 
diff --git a/xen/Rules.mk b/xen/Rules.mk
index e2f9e36..a8bbd8e 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -43,7 +43,8 @@ ALL_OBJS-$(x86)          += $(BASEDIR)/crypto/built_in.o
 
 CFLAGS += -fno-builtin -fno-common
 CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
-CFLAGS += -pipe -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
+CFLAGS-$(debug_symbols) += -g
+CFLAGS += -pipe -D__XEN__ -include $(BASEDIR)/include/xen/config.h
 CFLAGS += -nostdinc
 
 CFLAGS-$(XSM_ENABLE)    += -DXSM_ENABLE

  reply	other threads:[~2014-09-26 14:02 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-25 15:19 [PATCH 00/28 v4] tool changes to honor configure --prefix=DIR Olaf Hering
2014-09-25 15:19 ` [PATCH 01/28] Neutralize make uninstall Olaf Hering
2014-09-29 13:48   ` Ian Campbell
2014-09-30 12:07     ` Olaf Hering
2014-09-30 12:26       ` Ian Campbell
2014-09-29 13:49   ` Ian Campbell
2014-09-30 12:09     ` Olaf Hering
2014-09-30 12:26       ` Ian Campbell
2014-10-01  5:52       ` Olaf Hering
2014-10-01 10:44         ` Ian Campbell
2014-09-25 15:19 ` [PATCH 02/28] tools/hotplug: fix race during xen.conf creation Olaf Hering
2014-09-30 15:46   ` Ian Campbell
2014-09-25 15:19 ` [PATCH 03/28] tools/python: use also LDFLAGS for build Olaf Hering
2014-09-30 15:46   ` Ian Campbell
2014-09-25 15:19 ` [PATCH 04/28] Add configure --with-initddir=DIR Olaf Hering
2014-09-30 15:47   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 05/28] tools/hotplug: use XEN_SCRIPT_DIR instead of hardcoded path Olaf Hering
2014-09-25 15:20 ` [PATCH 06/28] tools/configure.ac: sort AC_CONFIG_FILES Olaf Hering
2014-09-25 15:20 ` [PATCH 07/28] tools: use INITD_DIR instead of CONFIG_DIR/init.d|rc.d Olaf Hering
2014-09-30 16:06   ` Roger Pau Monné
2014-09-25 15:20 ` [PATCH 08/28] tools/hotplug: substitute XEN_SCRIPT_DIR on FreeBSD Olaf Hering
2014-09-30 16:06   ` Roger Pau Monné
2014-09-25 15:20 ` [PATCH 09/28] remove duplicate variables from config Olaf Hering
2014-09-30 16:11   ` Roger Pau Monné
2014-09-30 16:30     ` Olaf Hering
2014-09-25 15:20 ` [PATCH 10/28] Substitue configure variables in Paths.mk.in Olaf Hering
2014-09-30 15:48   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 11/28] tools: substitute bindir instead of BINDIR Olaf Hering
2014-09-30 15:51   ` Ian Campbell
2014-09-30 15:55     ` Olaf Hering
2014-09-30 16:04       ` Ian Campbell
2014-09-25 15:20 ` [PATCH 12/28] Use configure --mandir=DIR to set MANDIR Olaf Hering
2014-09-30 15:51   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 13/28] Use configure --docdir=DIR to set DOCDIR Olaf Hering
2014-09-30 15:52   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 14/28] Use configure --includedir=DIR to set INCLUDEDIR Olaf Hering
2014-09-30 15:52   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 15/28] Use configure --libexecdir=BASEDIR to set LIBEXEC Olaf Hering
2014-09-30 15:55   ` Ian Campbell
2014-09-30 15:58     ` Olaf Hering
2014-09-30 16:02       ` Ian Campbell
2014-09-25 15:20 ` [PATCH 16/28] Use configure --prefix=DIR to set PREFIX Olaf Hering
2014-09-25 15:20 ` [PATCH 17/28] Use configure --localstatedir=BASEDIR to set path to /var Olaf Hering
2014-09-30 15:55   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 18/28] Add configure --enable-rpath Olaf Hering
2014-09-30 15:56   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 19/28] Add configure --with-linux-backend-modules="mod1 mod2" Olaf Hering
2014-09-30 15:57   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 20/28] Put bash_completion.d below --sysconfdir=DIR Olaf Hering
2014-09-30 15:58   ` Ian Campbell
2014-09-30 16:01     ` Olaf Hering
2014-09-25 15:20 ` [PATCH 21/28] Add configure --with-sysconfig-leaf-dir=SUBDIR to set CONFIG_LEAF_DIR Olaf Hering
2014-09-30 15:59   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 22/28] Make XENFIRMWAREDIR a subdir of libexecdir Olaf Hering
2014-09-25 15:20 ` [PATCH 23/28] tools: remove private copies of includedir and libdir from libxenstat Olaf Hering
2014-09-25 15:20 ` [PATCH 24/28] Use Paths.mk for docs, stubdom and tools build Olaf Hering
2014-09-30 16:00   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 25/28] tools: use XEN_LIB_STORED instead of /var/lib/xenstored Olaf Hering
2014-09-25 15:20 ` [PATCH 26/28] Use XEN_RUN_DIR instead of /var/run/xen Olaf Hering
2014-09-30 16:00   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 27/28] move vtpmmgr helpers from tools to stubdom Olaf Hering
2014-09-30 16:02   ` Ian Campbell
2014-09-25 15:20 ` [PATCH 28/28] Separate runtime debug output from debug symbols Olaf Hering
2014-09-25 15:41   ` Andrew Cooper
2014-09-25 15:57     ` Jan Beulich
2014-09-26  6:07     ` Olaf Hering
2014-09-25 16:01   ` Jan Beulich
2014-09-26  8:17     ` Olaf Hering
2014-09-26  8:54       ` Olaf Hering
2014-09-26  9:06         ` Jan Beulich
2014-09-26  9:22           ` Olaf Hering
2014-09-26  9:37             ` Jan Beulich
2014-09-26  8:56       ` Jan Beulich
2014-09-26 11:40   ` [PATCH 28/28 v2] " Olaf Hering
2014-09-26 11:56     ` Jan Beulich
2014-09-26 14:02       ` Olaf Hering [this message]
2014-09-26 14:43         ` Jan Beulich
2014-09-26 19:12           ` Konrad Rzeszutek Wilk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140926140256.GA9255@aepfle.de \
    --to=olaf@aepfle.de \
    --cc=JBeulich@suse.com \
    --cc=dave.scott@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=keir@xen.org \
    --cc=samuel.thibault@ens-lyon.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).