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

Re: [Minios-devel] [UNIKRAFT PATCH v2] build: Introduce DBGFLAGS, DBGFLAGS-y



Hi Simon, this patch looks good, thanks.

Reviewed-by: Felipe Huici <felipe.huici@xxxxxxxxx>

On 27.09.19, 23:52, "Simon Kuenzer" <simon.kuenzer@xxxxxxxxx> wrote:

    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

 


Rackspace

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