RepositoryModule_host.mk | 7 +++++++
1 file changed, 7 insertions(+)
New commits:
commit c74b7dadd53a3821451c6bed93988eea1743f141
Author: Luboš Luňák <[email protected]>
AuthorDate: Thu Apr 21 11:48:10 2022 +0200
Commit: Luboš Luňák <[email protected]>
CommitDate: Thu Apr 21 14:17:58 2022 +0200
serialize linking of large libraries only if USE_LD is not set
This problem with large memory usage during parallel linking
of several large libraries is presumably only relevant for the poorly
performing BFD linker. I can barely notice any memory usage increase
even with something as "old" as gold.
Change-Id: I20038c98543b1b920d75d8f645c6b90afb5fb6e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133250
Reviewed-by: Michael Stahl <[email protected]>
Reviewed-by: Luboš Luňák <[email protected]>
Tested-by: Jenkins
diff --git a/RepositoryModule_host.mk b/RepositoryModule_host.mk
index 49118cd6259d..376f3d1404a8 100644
--- a/RepositoryModule_host.mk
+++ b/RepositoryModule_host.mk
@@ -200,9 +200,16 @@ ifeq (,$(DISABLE_DYNLOADING))
# libraries takes enormous amounts of RAM. To prevent annoying OOM
situations
# etc., try to prevent linking these in parallel by adding artificial build
# order dependencies here.
+# Do this only if a linker is not explicitly set, as this should only apply
+# to the BFD linker and any decently modern linker presumably performs better.
+ifeq (,$(USE_LD))
define repositorymodule_serialize1
$(call gb_Library_get_linktarget_target,$(1)) :| $(foreach lib,$(2),$(call
gb_Library_get_target,$(lib)))
endef
+else
+define repositorymodule_serialize1
+endef
+endif
define repositorymodule_serialize
$(if $(filter-out 0 1,$(words $(1))),\