solenv/gbuild/Helper.mk | 1 + solenv/gbuild/extensions/post_Fuzzers.mk | 17 +++++++++++++++++ solenv/gbuild/platform/unxgcc.mk | 5 +++-- 3 files changed, 21 insertions(+), 2 deletions(-)
New commits: commit 6979fec4c1d0d0c4c99bbf58aa4fd7d0f2be42f4 Author: Jan-Marek Glogowski <glo...@fbihome.de> AuthorDate: Wed Dec 29 17:16:16 2021 +0100 Commit: Jan-Marek Glogowski <glo...@fbihome.de> CommitDate: Thu Dec 30 00:04:28 2021 +0100 oss-fuzz: chain-depend all *fuzzer binaries Change-Id: Id92ae26db0c4321f1670f7bd6d8c03c521e18d93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127712 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de> diff --git a/solenv/gbuild/Helper.mk b/solenv/gbuild/Helper.mk index 9f3e92e02ec4..a146de70d748 100644 --- a/solenv/gbuild/Helper.mk +++ b/solenv/gbuild/Helper.mk @@ -116,6 +116,7 @@ define gb_Helper_collect_knownlibs gb_Library_KNOWNLIBS := $$(foreach group,$$(gb_Library_VALIDGROUPS),$$(gb_Library_$$(group))) gb_Executable_KNOWN := $$(foreach group,$$(gb_Executable_VALIDGROUPS),$$(gb_Executable_$$(group))) gb_Jar_KNOWN := $$(foreach group,$$(gb_Jar_VALIDGROUPS),$$(gb_Jar_$$(group))) +gb_Fuzzers_KNOWN := $$(filter %fuzzer,$$(foreach group,$$(gb_Executable_VALIDGROUPS),$$(gb_Executable_$$(group)))) endef diff --git a/solenv/gbuild/extensions/post_Fuzzers.mk b/solenv/gbuild/extensions/post_Fuzzers.mk new file mode 100644 index 000000000000..06d7a94e990e --- /dev/null +++ b/solenv/gbuild/extensions/post_Fuzzers.mk @@ -0,0 +1,17 @@ +# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*- +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# + +# chain-link all fuzzer binaries +$(foreach fuzzer,$(gb_Fuzzers_KNOWN), \ + $(eval gb_Fuzzers_KNOWN = $(filter-out $(fuzzer),$(gb_Fuzzers_KNOWN))) \ + $(if $(firstword $(gb_Fuzzers_KNOWN)), \ + $(eval $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktarget,$(firstword $(gb_Fuzzers_KNOWN)))) : \ + $(call gb_LinkTarget_get_target,$(call gb_Executable_get_linktarget,$(fuzzer)))))) + +# vim: set noet sw=4 ts=4: diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 94402183eb02..3a7aba87a760 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -107,7 +107,7 @@ define gb_LinkTarget__WantLock $(if $(strip $(and \ $(call gb_CondBuildLockfile,$(true)), \ $(filter-out Executable/lockfile,$(1)), \ - $(DISABLE_DYNLOADING), \ + $(if $(filter FUZZERS,$(BUILD_TYPE)),,$(DISABLE_DYNLOADING)), \ $(filter CppunitTest Executable,$(TARGETTYPE)) \ )),$(true)) endef @@ -123,8 +123,9 @@ gb_LinkTarget__NeedsCxxLinker = $(if $(CXXOBJECTS)$(GENCXXOBJECTS)$(EXTRAOBJECTL # contains .c sources: define gb_LinkTarget__command_dynamiclink $(if $(call gb_LinkTarget__WantLock,$2), \ + echo "$(call gb_Output_announce_str,$(2): wait for lock at $$(date -u),$(true),LNK,5)" ; \ $(gb_LinkTarget__cmd_lockfile) -r -1 $(gb_LinkTarget__Lock) ; \ - echo "$(call gb_Output_announce_str,$(2): got link lock at $$(date -u),$(true),LNK,5)" \ + echo "$(call gb_Output_announce_str,$(2): got link lock at $$(date -u),$(true),LNK,5)" ; \ ) $(call gb_Helper_abbreviate_dirs,\ $(if $(call gb_LinkTarget__NeedsCxxLinker),$(or $(T_CXX),$(gb_CXX)) $(gb_CXX_LINKFLAGS),$(or $(T_CC),$(gb_CC))) \