about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--docs/env_vars.md3
-rw-r--r--src/backend.rs7
2 files changed, 4 insertions, 6 deletions
diff --git a/docs/env_vars.md b/docs/env_vars.md
index 07b75622a58..f0a0a6ad42e 100644
--- a/docs/env_vars.md
+++ b/docs/env_vars.md
@@ -9,7 +9,4 @@
     object files when their content should have been changed by a change to cg_clif.</dd>
     <dt>CG_CLIF_DISPLAY_CG_TIME</dt>
     <dd>If "1", display the time it took to perform codegen for a crate</dd>
-    <dt>CG_CLIF_FUNCTION_SECTIONS</dt>
-    <dd>Use a single section for each function. This will often reduce the executable size at the
-        cost of making linking significantly slower.</dd>
 </dl>
diff --git a/src/backend.rs b/src/backend.rs
index aac37b376dc..9e32259716f 100644
--- a/src/backend.rs
+++ b/src/backend.rs
@@ -198,8 +198,9 @@ pub(crate) fn make_module(sess: &Session, name: String) -> ObjectModule {
         cranelift_module::default_libcall_names(),
     )
     .unwrap();
-    if std::env::var("CG_CLIF_FUNCTION_SECTIONS").is_ok() {
-        builder.per_function_section(true);
-    }
+    // Unlike cg_llvm, cg_clif defaults to disabling -Zfunction-sections. For cg_llvm binary size
+    // is important, while cg_clif cares more about compilation times. Enabling -Zfunction-sections
+    // can easily double the amount of time necessary to perform linking.
+    builder.per_function_section(sess.opts.debugging_opts.function_sections.unwrap_or(false));
     ObjectModule::new(builder)
 }