Kaydet (Commit) 0654030f authored tarafından Luboš Luňák's avatar Luboš Luňák

add --enable-split-debug for -gsplit-dwarf

https://lists.freedesktop.org/archives/libreoffice/2018-June/080437.html

Change-Id: I2a02e23e46d7a54083249408f09fba87932b1d44
Reviewed-on: https://gerrit.libreoffice.org/56416Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: 's avatarLuboš Luňák <l.lunak@collabora.com>
üst 44137151
......@@ -248,6 +248,7 @@ export HAVE_GCC_FNO_ENFORCE_EH_SPECS=@HAVE_GCC_FNO_ENFORCE_EH_SPECS@
export HAVE_GCC_FNO_INLINE=@HAVE_GCC_FNO_INLINE@
export HAVE_GCC_FNO_SIZED_DEALLOCATION=@HAVE_GCC_FNO_SIZED_DEALLOCATION@
export HAVE_GCC_GGDB2=@HAVE_GCC_GGDB2@
export HAVE_GCC_SPLIT_DWARF=@HAVE_GCC_SPLIT_DWARF@
export HAVE_GNUMAKE_FILE_FUNC=@HAVE_GNUMAKE_FILE_FUNC@
export HAVE_GPGCONF_SOCKETDIR=@HAVE_GPGCONF_SOCKETDIR@
export HAVE_LD_BSYMBOLIC_FUNCTIONS=@HAVE_LD_BSYMBOLIC_FUNCTIONS@
......
......@@ -1116,6 +1116,11 @@ libo_FUZZ_ARG_ENABLE(debug,
[Include debugging information, disable compiler optimization and inlining plus
extra debugging code like assertions. Extra large build! (enables -g compiler flag).]))
libo_FUZZ_ARG_ENABLE(split-debug,
AS_HELP_STRING([--enable-split-debug],
[Uses split debug information (-gsplit-dwarf compile flag). Saves disk space and build time,
but requires tools that support it (both build tools and debuggers).]))
libo_FUZZ_ARG_ENABLE(sal-log,
AS_HELP_STRING([--enable-sal-log],
[Make SAL_INFO and SAL_WARN calls do something even in a non-debug build.]))
......@@ -3864,6 +3869,23 @@ else
fi
AC_SUBST(ENABLE_DEBUG)
if test "$enable_split_debug" = yes; then
HAVE_GSPLIT_DWARF=
if test "$GCC" = "yes"; then
AC_MSG_CHECKING([whether $CC supports -gsplit-dwarf])
save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS -Werror -gsplit-dwarf"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ return 0; ]])],[ HAVE_GCC_SPLIT_DWARF=TRUE ],[])
CFLAGS=$save_CFLAGS
if test "$HAVE_GCC_SPLIT_DWARF" = "TRUE"; then
AC_MSG_RESULT([yes])
else
AC_MSG_RESULT([no])
fi
fi
AC_SUBST(HAVE_GCC_SPLIT_DWARF)
fi
if test "$enable_sal_log" = yes; then
ENABLE_SAL_LOG=TRUE
fi
......
......@@ -543,22 +543,31 @@ $(WORKDIR)/Clean/LinkTarget/% :
RESPONSEFILE=$(call var2file,$(shell $(gb_MKTEMP)),200,\
$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
$(foreach object,$(COBJECTS),$(call gb_CObject_get_dep_target,$(object))) \
$(foreach object,$(COBJECTS),$(call gb_CObject_get_dwo_target,$(object))) \
$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_dep_target,$(object))) \
$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_dwo_target,$(object))) \
$(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_target,$(object))) \
$(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_dep_target,$(object))) \
$(foreach object,$(OBJCOBJECTS),$(call gb_ObjCObject_get_dwo_target,$(object))) \
$(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_target,$(object))) \
$(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_dep_target,$(object))) \
$(foreach object,$(OBJCXXOBJECTS),$(call gb_ObjCxxObject_get_dwo_target,$(object))) \
$(foreach object,$(CXXCLROBJECTS),$(call gb_CxxClrObject_get_target,$(object))) \
$(foreach object,$(CXXCLROBJECTS),$(call gb_CxxClrObject_get_dep_target,$(object))) \
$(foreach object,$(CXXCLROBJECTS),$(call gb_CxxClrObject_get_dwo_target,$(object))) \
$(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_target,$(object))) \
$(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_dep_target,$(object))) \
$(foreach object,$(ASMOBJECTS),$(call gb_AsmObject_get_dwo_target,$(object))) \
$(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_target,$(object))) \
$(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_dep_target,$(object))) \
$(foreach object,$(GENCOBJECTS),$(call gb_GenCObject_get_dwo_target,$(object))) \
$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_dep_target,$(object))) \
$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_dwo_target,$(object))) \
$(foreach object,$(GENCXXCLROBJECTS),$(call gb_GenCxxClrObject_get_target,$(object))) \
$(foreach object,$(GENCXXCLROBJECTS),$(call gb_GenCxxClrObject_get_dep_target,$(object))) \
$(foreach object,$(GENCXXCLROBJECTS),$(call gb_GenCxxClrObject_get_dwo_target,$(object))) \
$(call gb_LinkTarget_get_target,$(LINKTARGET)) \
$(call gb_LinkTarget_get_dep_target,$(LINKTARGET)) \
$(call gb_LinkTarget_get_headers_target,$(LINKTARGET)) \
......
......@@ -38,8 +38,11 @@ gb_AllLangHelp_get_helpfiles_target = $(WORKDIR)/AllLangHelp/$(1).helpfiles
gb_AllLangPackage_get_target = $(WORKDIR)/AllLangPackage/$(1)
gb_AllLangMoTarget_get_target = $(WORKDIR)/AllLangMo/$(1)
gb_AsmObject_get_target = $(WORKDIR)/AsmObject/$(1).o
gb_AsmObject_get_dwo_target = $(WORKDIR)/AsmObject/$(1).dwo
gb_CObject_get_target = $(WORKDIR)/CObject/$(1).o
gb_CObject_get_dwo_target = $(WORKDIR)/CObject/$(1).dwo
gb_GenCObject_get_target = $(WORKDIR)/GenCObject/$(1).o
gb_GenCObject_get_dwo_target = $(WORKDIR)/GenCObject/$(1).dwo
gb_CliAssembly_get_target = $(WORKDIR)/CliAssembly/$(1).done
gb_CliAssemblyTarget_get_target = $(WORKDIR)/CliAssemblyTarget/$(1).done
gb_CliAssemblyTarget_get_assembly_target = $(WORKDIR)/CliAssemblyTarget/$(1)$(gb_CliAssemblyTarget_POLICYEXT)
......@@ -57,7 +60,9 @@ gb_CustomTarget_get_workdir = $(WORKDIR)/CustomTarget/$(1)
gb_DescriptionTranslateTarget_get_target = $(WORKDIR)/DescriptionTranslateTarget/$(1).xml
gb_Dictionary_get_target = $(WORKDIR)/Dictionary/$(1).done
gb_CxxObject_get_target = $(WORKDIR)/CxxObject/$(1).o
gb_CxxObject_get_dwo_target = $(WORKDIR)/CxxObject/$(1).dwo
gb_GenCxxObject_get_target = $(WORKDIR)/GenCxxObject/$(1).o
gb_GenCxxObject_get_dwo_target = $(WORKDIR)/GenCxxObject/$(1).dwo
gb_Executable_get_headers_target = $(WORKDIR)/Headers/Executable/$(1)
gb_Executable_get_runtime_target = $(WORKDIR_FOR_BUILD)/Executable/$(1).run
gb_Extension_get_target = $(WORKDIR)/Extension/$(1).oxt
......@@ -127,9 +132,13 @@ gb_Module_get_perfcheck_target = $(WORKDIR)/Module/perfcheck/$(1)
gb_Module_get_uicheck_target = $(WORKDIR)/Module/uicheck/$(1)
gb_Module_get_target = $(WORKDIR)/Module/$(1)
gb_ObjCxxObject_get_target = $(WORKDIR)/ObjCxxObject/$(1).o
gb_ObjCxxObject_get_dwo_target = $(WORKDIR)/ObjCxxObject/$(1).dwo
gb_ObjCObject_get_target = $(WORKDIR)/ObjCObject/$(1).o
gb_ObjCObject_get_dwo_target = $(WORKDIR)/ObjCObject/$(1).dwo
gb_CxxClrObject_get_target = $(WORKDIR)/CxxClrObject/$(1).o
gb_CxxClrObject_get_dwo_target = $(WORKDIR)/CxxClrObject/$(1).dwo
gb_GenCxxClrObject_get_target = $(WORKDIR)/GenCxxClrObject/$(1).o
gb_GenCxxClrObject_get_dwo_target = $(WORKDIR)/GenCxxClrObject/$(1).dwo
gb_Pagein_get_target = $(WORKDIR)/Pagein/pagein-$(1)
gb_Package_get_preparation_target = $(WORKDIR)/Package/prepared/$(1)
gb_Package_get_target = $(WORKDIR)/Package/$(1).filelist
......
......@@ -188,6 +188,10 @@ else
gb_DEBUGINFO_FLAGS=-g2
endif
ifeq ($(HAVE_GCC_SPLIT_DWARF),TRUE)
gb_DEBUGINFO_FLAGS+=-gsplit-dwarf
endif
ifeq ($(HAVE_GCC_FINLINE_LIMIT),TRUE)
FINLINE_LIMIT0=-finline-limit=0
endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment