[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2] build: Introduce DBGFLAGS, DBGFLAGS-y
The original problem is that assembly source files are compiled without debugging information. GCC's `-g[0-3]` flag is not handed over to the assembler build rules. This causes the debugging information of the final image to be incomplete. Unfortunately the debug option flag cannot be simply added to `ASFLAGS` because the linker script build rule uses them, too. Those rules use GCC's preprocessor only but the debug flag causes GCC to dump the internal preprocessor state into the generated output text file. Because all of this, this patch introduces the build system variables `DBGFLAGS` and `DBGFLAGS-y`. They are intended to carry debug-related compile flags (like `-g[0-3]`). They are handed over to only to the AS, C, C++, and GO compile rules. Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx> --- Makefile | 2 ++ Makefile.uk | 16 ++++------------ support/build/Makefile.rules | 10 +++++----- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 99369cdc..9bc8fb57 100644 --- a/Makefile +++ b/Makefile @@ -267,6 +267,8 @@ GOCFLAGS := GOCFLAGS-y := GOCINCLUDES := GOCINCLUDES-y := +DBGFLAGS := +DBGFLAGS-y := LDFLAGS := LDFLAGS-y := IMAGE_LDFLAGS := diff --git a/Makefile.uk b/Makefile.uk index 26ee0fda..67c372e5 100644 --- a/Makefile.uk +++ b/Makefile.uk @@ -50,18 +50,10 @@ GOCFLAGS-$(CONFIG_OPTIMIZE_LTO) += -flto LIBLDFLAGS-$(CONFIG_OPTIMIZE_LTO) += $(CFLAGS) $(CFLAGS-y) LDFLAGS-$(CONFIG_OPTIMIZE_LTO) += $(CFLAGS) $(CFLAGS-y) -CFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g0 -CXXFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g0 -GOCFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g0 -CFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL1) += -g1 -CXXFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL1) += -g1 -GOCFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g1 -CFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL2) += -g2 -CXXFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL2) += -g2 -GOCFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g2 -CFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL3) += -g3 -CXXFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL3) += -g3 -GOCFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g3 +DBGFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL0) += -g0 +DBGFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL1) += -g1 +DBGFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL2) += -g2 +DBGFLAGS-$(CONFIG_DEBUG_SYMBOLS_LVL3) += -g3 ASFLAGS += -D __Unikraft__ -DUK_CODENAME="$(UK_CODENAME)" ASFLAGS += -DUK_VERSION=$(UK_VERSION).$(UK_SUBVERSION) diff --git a/support/build/Makefile.rules b/support/build/Makefile.rules index 906a0a6e..d60c6d92 100644 --- a/support/build/Makefile.rules +++ b/support/build/Makefile.rules @@ -355,7 +355,7 @@ $(3): $(2) | prepare $(call build_cmd_fixdep,AS,$(1),$(3),\ $(AS) $(ASINCLUDES) $(ASINCLUDES-y) \ $($(call vprefix_lib,$(1),ASINCLUDES)) $($(call vprefix_lib,$(1),ASINCLUDES-y)) \ - $(ASFLAGS) $(ASFLAGS-y) \ + $(ASFLAGS) $(ASFLAGS-y) $(DBGFLAGS) $(DBGFLAGS-y) \ $($(call vprefix_lib,$(1),ASFLAGS)) $($(call vprefix_lib,$(1),ASFLAGS-y)) \ $(4) -D__LIBNAME__=$(1) -D__BASENAME__=$(notdir $(2)) \ -c $(2) -o $(3) $(depflags) @@ -373,7 +373,7 @@ $(3): $(2) | prepare $(call build_cmd,AS,$(1),$(3),\ $(AS) $(ASINCLUDES) $(ASINCLUDES-y) \ $($(call vprefix_lib,$(1),ASINCLUDES)) $($(call vprefix_lib,$(1),ASINCLUDES-y)) \ - $(ASFLAGS) $(ASFLAGS-y) \ + $(ASFLAGS) $(ASFLAGS-y) $(DBGFLAGS) $(DBGFLAGS-y) \ $($(call vprefix_lib,$(1),ASFLAGS)) $($(call vprefix_lib,$(1),ASFLAGS-y)) \ $(4) -D__LIBNAME__=$(1) -D__BASENAME__=$(notdir $(2)) \ -c $(2) -o $(3) @@ -391,7 +391,7 @@ $(3): $(2) | prepare $(call build_cmd_fixdep,CC,$(1),$(3),\ $(CC) $(CINCLUDES) $(CINCLUDES-y) \ $($(call vprefix_lib,$(1),CINCLUDES)) $($(call vprefix_lib,$(1),CINCLUDES-y)) \ - $(CFLAGS) $(CFLAGS-y) \ + $(CFLAGS) $(CFLAGS-y) $(DBGFLAGS) $(DBGFLAGS-y) \ $($(call vprefix_lib,$(1),CFLAGS)) $($(call vprefix_lib,$(1),CFLAGS-y)) \ $(4) -D__LIBNAME__=$(1) -D__BASENAME__=$(notdir $(2)) \ -c $(2) -o $(3) $(depflags) @@ -409,7 +409,7 @@ $(3): $(2) | prepare $(call build_cmd_fixdep,CXX,$(1),$(3),\ $(CXX) $(CXXINCLUDES) $(CXXINCLUDES-y) \ $($(call vprefix_lib,$(1),CXXINCLUDES)) $($(call vprefix_lib,$(1),CXXINCLUDES-y)) \ - $(CXXFLAGS) $(CXXFLAGS-y) \ + $(CXXFLAGS) $(CXXFLAGS-y) $(DBGFLAGS) $(DBGFLAGS-y) \ $($(call vprefix_lib,$(1),CXXFLAGS)) $($(call vprefix_lib,$(1),CXXFLAGS-y)) \ $(4) -D__LIBNAME__=$(1) -D__BASENAME__=$(notdir $(2)) \ -c $(2) -o $(3) $(depflags) @@ -427,7 +427,7 @@ $(3): $(2) | prepare $(call build_cmd,GOC,$(1),$(3),\ $(GOC) $(GOCINCLUDES) $(GOCINCLUDES-y) \ $($(call vprefix_lib,$(1),GOCINCLUDES)) $($(call vprefix_lib,$(1),GOCINCLUDES-y)) \ - $(GOCFLAGS) $(GOCFLAGS-y) \ + $(GOCFLAGS) $(GOCFLAGS-y) $(DBGFLAGS) $(DBGFLAGS-y) \ $($(call vprefix_lib,$(1),GOCFLAGS)) $($(call vprefix_lib,$(1),GOCFLAGS-y)) \ $(4) -D__LIBNAME__=$(1) -D__BASENAME__=$(notdir $(2)) \ -c $(2) -o $(3) $(depflags) -- 2.20.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |