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 |