From: Andreas Stieger 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/frontend/data.py b/python/mozbuild/mozbuild/frontend/data.py --- a/python/mozbuild/mozbuild/frontend/data.py +++ b/python/mozbuild/mozbuild/frontend/data.py @@ -310,17 +310,17 @@ class WebIDLCollection(ContextDerived): @property def unified_source_mapping(self): # 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. return list(group_unified_files(self.all_regular_cpp_basenames(), unified_prefix='UnifiedBindings', unified_suffix='cpp', - files_per_unified_file=32)) + files_per_unified_file=16)) def all_source_files(self): from mozwebidlcodegen import WebIDLCodegenManager return (sorted(list(WebIDLCodegenManager.GLOBAL_DEFINE_FILES)) + sorted(set(p for p, _ in self.unified_source_mapping))) class IPDLCollection(ContextDerived):