I don't like the proposed patch, but I am recovering this old thread because I agree on the problem statement.
On 04/04/14 11:57, Ananyev, Konstantin wrote: > Hi Cyril, > We already do have 'EXTRA_CFLAGS' and 'EXTRA_LDFLAGS' that you can use to > enable debug, or any other compiler/linker options you need. > Wonder, why that is not enough? EXTRA_FLAGS var affects all the DPDK libraries. I was wondering why setting individually: diff --git a/config/common_linuxapp b/config/common_linuxapp index 2f9643b..04adc0d 100644 --- a/config/common_linuxapp +++ b/config/common_linuxapp @@ -127,7 +127,7 @@ CONFIG_RTE_LIBRTE_KVARGS=y # Compile generic ethernet library # CONFIG_RTE_LIBRTE_ETHER=y -CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=n +CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=y to put an example, does not set -g and -O0 in that particular module only. No one would ever use something compiled in DEBUG in production anyway. I always end up modifying manually Makefiles in the lib library that I am interested in having insides, overriding CFLAGS=-O3, which is not that nice. Marc > Thanks > Konstantin > > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Cyril Chemparathy > Sent: Thursday, April 03, 2014 6:31 PM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH] mk: add support for gdb debug info generation > > It is often useful to build with debug enabled, we add a config > (CONFIG_RTE_TOOLCHAIN_DEBUG) to do so. > > Note: This patch does not include corresponding changes for ICC. The author > pleads abject ignorance in this regard, and welcomes recommendations. :-) > > Signed-off-by: Cyril Chemparathy <cchemparathy at tilera.com> > --- > config/defconfig_x86_64-default-linuxapp-gcc | 1 + > mk/toolchain/gcc/rte.vars.mk | 5 +++++ > 2 files changed, 6 insertions(+) > > diff --git a/config/defconfig_x86_64-default-linuxapp-gcc > b/config/defconfig_x86_64-default-linuxapp-gcc > index f11ffbf..3b36efd 100644 > --- a/config/defconfig_x86_64-default-linuxapp-gcc > +++ b/config/defconfig_x86_64-default-linuxapp-gcc > @@ -67,6 +67,7 @@ CONFIG_RTE_ARCH_X86_64=y # CONFIG_RTE_TOOLCHAIN="gcc" > CONFIG_RTE_TOOLCHAIN_GCC=y > +CONFIG_RTE_TOOLCHAIN_DEBUG=n > > # > # Use intrinsics or assembly code for key routines diff --git > a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk index > 0edb93f..81ed3fa 100644 > --- a/mk/toolchain/gcc/rte.vars.mk > +++ b/mk/toolchain/gcc/rte.vars.mk > @@ -68,6 +68,11 @@ ifeq (,$(findstring -O0,$(EXTRA_CFLAGS))) endif endif > > +ifeq ($(CONFIG_RTE_TOOLCHAIN_DEBUG),y) > +TOOLCHAIN_CFLAGS += -g -ggdb > +TOOLCHAIN_LDFLAGS += -g -ggdb > +endif > + > WERROR_FLAGS := -W -Wall -Werror -Wstrict-prototypes -Wmissing-prototypes > WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith > WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual > -- > 1.8.3.1 >