diff --git a/Makefile b/Makefile index 82d36fea2..8739d4307 100644 --- a/Makefile +++ b/Makefile @@ -33,6 +33,10 @@ # # Unit test target: unittests # +# Options +# +# dwarf4=1 - use DWARF v4 format for debug information +# export TARGET_MODES = debug debug_release release export TARGET_PC_SYSTEMS = linux @@ -48,6 +52,8 @@ export FLASH_TARGETS = $(foreach __TARGET,$(foreach __MODE,$(TARGET_MODES),$(for export OUT_DIR = ./out export UNITTESTS_SRC_DIR = ./tests/unit +export dwarf4 + all: clean $(JERRY_TARGETS) $(TESTS_TARGET) $(CHECK_TARGETS) $(JERRY_TARGETS) $(TESTS_TARGET) $(FLASH_TARGETS) $(CHECK_TARGETS): diff --git a/Makefile.mak b/Makefile.mak index dc856ffc6..1f18237f8 100644 --- a/Makefile.mak +++ b/Makefile.mak @@ -41,6 +41,13 @@ endif # Options setup # +# DWARF version +ifeq ($(dwarf4),1) + OPTION_DWARF4 := enable +else + OPTION_DWARF4 := disable +endif + # JERRY_NDEBUG, debug symbols ifeq ($(TARGET_MODE),release) OPTION_NDEBUG = enable @@ -94,6 +101,12 @@ LDFLAGS_NO_OPTIMIZE ?= # Debug symbols CFLAGS_DEBUG_SYMS ?= -g3 +ifeq ($(OPTION_DWARF4),enable) + CFLAGS_DEBUG_SYMS += -gdwarf-4 +else + CFLAGS_DEBUG_SYMS += -gdwarf-3 +endif + # Cortex-M4 MCU CFLAGS_CORTEXM4 ?= -mlittle-endian -mcpu=cortex-m4 -march=armv7e-m -mthumb \ -mfpu=fpv4-sp-d16 -mfloat-abi=hard