reduce the rust debuginfo level on selected architectures
authorCarsten Schoenert <c.schoenert@t-online.de>
Wed, 30 Sep 2020 15:21:27 +0000 (17:21 +0200)
committerCarsten Schoenert <c.schoenert@t-online.de>
Sun, 20 Jun 2021 05:20:41 +0000 (06:20 +0100)
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, and with
newer versions it started happening very frequently on s390x too.

Patch cherry-picked from Ubuntu.

Gbp-Pq: Topic fixes
Gbp-Pq: Name reduce-the-rust-debuginfo-level-on-selected-architectures.patch

build/moz.configure/toolchain.configure

index d6cadded74f1d8130e18ade4a1d1d92dac1f0bd0..8b4628582341e57857243646cabef9e27e7adf9e 100755 (executable)
@@ -1875,8 +1875,8 @@ def rustc_opt_level(opt_level_option, moz_optimize):
         return '1' if moz_optimize.optimize else '0'
 
 
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers')
-def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', '--enable-frame-pointers', host)
+def rust_compile_flags(opt_level, debug_rust, 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.
@@ -1899,6 +1899,8 @@ def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
 
     if debug_symbols:
         debug_info = '2'
+        if host.bitness == 32 or host.cpu in ('aarch64', 'ppc64', 's390x', 'x86'):
+            debug_info = '1'
 
     opts = []