mozilla-reduce-rust-debuginfo.patch
branchfirefox85
changeset 1154 71a92b4d0527
parent 1152 4cfe46c9a944
child 1159 c4aba2fa0908
equal deleted inserted replaced
1153:fdd746757dda 1154:71a92b4d0527
     1 # HG changeset patch
     1 # HG changeset patch
     2 # User msirringhaus@suse.de
     2 # User msirringhaus@suse.de
     3 # Date 1560754926 -7200
     3 # Date 1560754926 -7200
     4 #      Mon Jun 17 09:02:06 2019 +0200
     4 #      Mon Jun 17 09:02:06 2019 +0200
     5 # Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
     5 # Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
     6 # Parent  f5e9431a99bb1d122ccd76411f08ac6f3236c19f
     6 # Parent  2a004fe4d56123f6e73a9436d1a290bbfc5e0b6b
     7 #Description: reduce the rust debuginfo level on selected architectures where
     7 #Description: reduce the rust debuginfo level on selected architectures where
     8 # compiling with debuginfo=2 causes the OOM killer to interrupt the build on
     8 # compiling with debuginfo=2 causes the OOM killer to interrupt the build on
     9 # launchpad builders. Initially this was only on 32 bit architectures, but with
     9 # launchpad builders. Initially this was only on 32 bit architectures, but with
    10 # firefox 63 it started happening frequently on arm64 and ppc64el too.
    10 # firefox 63 it started happening frequently on arm64 and ppc64el too.
    11 
    11 
    12 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
    12 diff --git a/build/moz.configure/toolchain.configure b/build/moz.configure/toolchain.configure
    13 --- a/build/moz.configure/toolchain.configure
    13 --- a/build/moz.configure/toolchain.configure
    14 +++ b/build/moz.configure/toolchain.configure
    14 +++ b/build/moz.configure/toolchain.configure
    15 @@ -2138,19 +2138,19 @@ imply_option("RUSTC_OPT_LEVEL", "2", whe
    15 @@ -2145,18 +2145,19 @@ def rustc_opt_level(opt_level_option, mo
    16  def rustc_opt_level(opt_level_option, moz_optimize):
       
    17      if opt_level_option:
       
    18          return opt_level_option[0]
       
    19      else:
       
    20          return "1" if moz_optimize.optimize else "0"
       
    21  
    16  
    22  
    17  
    23  @depends(
    18  @depends(
    24 -    rustc_opt_level, debug_rust, "--enable-debug-symbols", "--enable-frame-pointers"
    19      rustc_opt_level,
    25 +    rustc_opt_level, debug_rust, "--enable-debug-symbols", "--enable-frame-pointers", host
    20      debug_rust,
       
    21      target,
       
    22      "--enable-debug-symbols",
       
    23      "--enable-frame-pointers",
       
    24 +    host,
    26  )
    25  )
    27 -def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers):
    26 -def rust_compile_flags(opt_level, debug_rust, target, debug_symbols, frame_pointers):
    28 +def rust_compile_flags(opt_level, debug_rust, debug_symbols, frame_pointers, host):
    27 +def rust_compile_flags(opt_level, debug_rust, target, debug_symbols, frame_pointers, host):
    29      # Cargo currently supports only two interesting profiles for building:
    28      # Cargo currently supports only two interesting profiles for building:
    30      # development and release. Those map (roughly) to --enable-debug and
    29      # development and release. Those map (roughly) to --enable-debug and
    31      # --disable-debug in Gecko, respectively.
    30      # --disable-debug in Gecko, respectively.
    32      #
    31      #
    33      # But we'd also like to support an additional axis of control for
    32      # But we'd also like to support an additional axis of control for
    34      # optimization level. Since Cargo only supports 2 profiles, we're in
    33      # optimization level. Since Cargo only supports 2 profiles, we're in
    35      # a bit of a bind.
    34      # a bit of a bind.
    36      #
    35      #
    37 @@ -2163,16 +2163,18 @@ def rust_compile_flags(opt_level, debug_
    36 @@ -2169,16 +2170,18 @@ def rust_compile_flags(opt_level, debug_
    38  
    37  
    39      # opt-level=0 implies -C debug-assertions, which may not be desired
    38      # opt-level=0 implies -C debug-assertions, which may not be desired
    40      # unless Rust debugging is enabled.
    39      # unless Rust debugging is enabled.
    41      if opt_level == "0" and not debug_rust:
    40      if opt_level == "0" and not debug_rust:
    42          debug_assertions = False
    41          debug_assertions = False