# HG changeset patch # User msirringhaus@suse.de # Date 1560754926 -7200 # Mon Jun 17 09:02:06 2019 +0200 # Node ID 428161c3b9599083e1b8710eda1760f1f707ab11 # Parent 2a004fe4d56123f6e73a9436d1a290bbfc5e0b6b #Description: reduce the rust debuginfo level on selected architectures where # compiling with debuginfo=2 causes the OOM killer to interrupt the build on # launchpad builders. Initially this was only on 32 bit architectures, but with # firefox 63 it started happening frequently on arm64 and ppc64el too. diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure --- a/build/moz.configure/toolchain.configure +++ b/build/moz.configure/toolchain.configure @@ -2145,18 +2145,19 @@ def rustc_opt_level(opt_level_option, mo @depends( rustc_opt_level, debug_rust, target, "--enable-debug-symbols", "--enable-frame-pointers", + host, ) -def rust_compile_flags(opt_level, debug_rust, target, debug_symbols, frame_pointers): +def rust_compile_flags(opt_level, debug_rust, target, debug_symbols, frame_pointers, host): # Cargo currently supports only two interesting profiles for building: # development and release. Those map (roughly) to --enable-debug and # --disable-debug in Gecko, respectively. # # But we'd also like to support an additional axis of control for # optimization level. Since Cargo only supports 2 profiles, we're in # a bit of a bind. # @@ -2169,16 +2170,18 @@ def rust_compile_flags(opt_level, debug_ # opt-level=0 implies -C debug-assertions, which may not be desired # unless Rust debugging is enabled. if opt_level == "0" and not debug_rust: debug_assertions = False if debug_symbols: debug_info = "2" + if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64': + debug_info = '1' opts = [] if opt_level is not None: opts.append("opt-level=%s" % opt_level) if debug_assertions is not None: opts.append("debug-assertions=%s" % ("yes" if debug_assertions else "no")) if debug_info is not None: