mozilla-reduce-rust-debuginfo.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Sun, 27 Dec 2020 10:49:49 +0100
branchfirefox84
changeset 1152 4cfe46c9a944
parent 1123 7fa561e5d7c7
child 1154 71a92b4d0527
permissions -rw-r--r--
Firefox 84.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# User msirringhaus@suse.de
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
# Date 1560754926 -7200
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
#      Mon Jun 17 09:02:06 2019 +0200
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
     6
# Parent  f5e9431a99bb1d122ccd76411f08ac6f3236c19f
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
#Description: reduce the rust debuginfo level on selected architectures where
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
# compiling with debuginfo=2 causes the OOM killer to interrupt the build on
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
# launchpad builders. Initially this was only on 32 bit architectures, but with
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
# firefox 63 it started happening frequently on arm64 and ppc64el too.
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    12
diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    13
--- a/build/moz.configure/toolchain.configure
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    14
+++ b/build/moz.configure/toolchain.configure
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    15
@@ -2138,19 +2138,19 @@ imply_option("RUSTC_OPT_LEVEL", "2", whe
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    16
 def rustc_opt_level(opt_level_option, moz_optimize):
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    17
     if opt_level_option:
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    18
         return opt_level_option[0]
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    19
     else:
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    20
         return "1" if moz_optimize.optimize else "0"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
 
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
 
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    23
 @depends(
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    24
-    rustc_opt_level, debug_rust, "--enable-debug-symbols", "--enable-frame-pointers"
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    25
+    rustc_opt_level, debug_rust, "--enable-debug-symbols", "--enable-frame-pointers", host
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    26
 )
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    27
-def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    28
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, host):
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
     # Cargo currently supports only two interesting profiles for building:
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
     # development and release. Those map (roughly) to --enable-debug and
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
     # --disable-debug in Gecko, respectively.
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    32
     #
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    33
     # But we'd also like to support an additional axis of control for
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    34
     # optimization level. Since Cargo only supports 2 profiles, we're in
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    35
     # a bit of a bind.
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    36
     #
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    37
@@ -2163,16 +2163,18 @@ def rust_compile_flags(opt_level, debug_
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    38
 
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    39
     # opt-level=0 implies -C debug-assertions, which may not be desired
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    40
     # unless Rust debugging is enabled.
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    41
     if opt_level == "0" and not debug_rust:
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    42
         debug_assertions = False
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
 
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
     if debug_symbols:
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    45
         debug_info = "2"
1097
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
+        if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
+            debug_info = '1'
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    48
 
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    49
     opts = []
840132a4a9b3 Firefox 68.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    50
 
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    51
     if opt_level is not None:
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    52
         opts.append("opt-level=%s" % opt_level)
1112
8a4f5aea2475 Firefox 70.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1097
diff changeset
    53
     if debug_assertions is not None:
1152
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    54
         opts.append("debug-assertions=%s" % ("yes" if debug_assertions else "no"))
4cfe46c9a944 Firefox 84.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1123
diff changeset
    55
     if debug_info is not None: