mozilla-reduce-files-per-UnifiedBindings.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 14 Mar 2018 22:20:32 +0100
branchfirefox59
changeset 1038 ff41abc3ea34
parent 1006 5ba9b67de554
child 1045 f645c886d36b
permissions -rw-r--r--
Created branch firefox59

From: Andreas Stieger <astieger@suse.com>
Date: Fri, 26 Feb 2016 16:20:09 +0000
Subject: For UnifiedBindings*.cpp files, reduce number of files per unified file
Upstream: no

home/abuild/rpmbuild/BUILD/obj/dom/bindings/UnifiedBindings16.cpp
[ 1589s] UnifiedBindings17.o
[ 1612s] [ 1567.621989] Out of memory: Kill process 19849 (cc1plus) score 170 or sacrifice child
[ 1612s] [ 1567.625099] Killed process 19849 (cc1plus) total-vm:905704kB, anon-rss:102500kB, file-rss:156kB
[ 1616s] {standard input}: Assembler messages:
[ 1616s] {standard input}:316015: Warning: end of file not at end of a line; newline inserted
[ 1635s] {standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
[ 1636s] c++: internal compiler error: Killed (program cc1plus)
[ 1636s] Please submit a full bug report,

diff --git a/python/mozbuild/mozbuild/backend/common.py b/python/mozbuild/mozbuild/backend/common.py
--- a/python/mozbuild/mozbuild/backend/common.py
+++ b/python/mozbuild/mozbuild/backend/common.py
@@ -386,17 +386,17 @@ class CommonBackend(BuildBackend):
         )
         self._handle_generated_sources(manager.expected_build_output_files())
         # Bindings are compiled in unified mode to speed up compilation and
         # to reduce linker memory size. Note that test bindings are separated
         # from regular ones so tests bindings aren't shipped.
         unified_source_mapping = list(group_unified_files(webidls.all_regular_cpp_basenames(),
                                                           unified_prefix='UnifiedBindings',
                                                           unified_suffix='cpp',
-                                                          files_per_unified_file=32))
+                                                          files_per_unified_file=16))
         self._write_unified_files(unified_source_mapping, bindings_dir,
                                   poison_windows_h=True)
         self._handle_webidl_build(bindings_dir, unified_source_mapping,
                                   webidls,
                                   manager.expected_build_output_files(),
                                   manager.GLOBAL_DEFINE_FILES)
 
     def _write_unified_file(self, unified_file, source_filenames,