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))) \

Reply via email to