about summary refs log tree commit diff
path: root/compiler/rustc_codegen_ssa/src/back/link.rs
diff options
context:
space:
mode:
authorusamoi <usamoi@outlook.com>2025-07-13 00:12:33 +0800
committerusamoi <usamoi@outlook.com>2025-07-13 16:27:47 +0800
commitf58accb8f370a0a9e89548f2d890bd09ede3e613 (patch)
treef13c7846ce65879593c53a6d053d5666601887a6 /compiler/rustc_codegen_ssa/src/back/link.rs
parent915e5352448afb3c24f89117468935283bc7d2cf (diff)
downloadrust-f58accb8f370a0a9e89548f2d890bd09ede3e613.tar.gz
rust-f58accb8f370a0a9e89548f2d890bd09ede3e613.zip
pass --gc-sections if -Zexport-executable-symbols is enabled and improve tests
Diffstat (limited to 'compiler/rustc_codegen_ssa/src/back/link.rs')
-rw-r--r--compiler/rustc_codegen_ssa/src/back/link.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/compiler/rustc_codegen_ssa/src/back/link.rs b/compiler/rustc_codegen_ssa/src/back/link.rs
index b46773396fc..ae148287a60 100644
--- a/compiler/rustc_codegen_ssa/src/back/link.rs
+++ b/compiler/rustc_codegen_ssa/src/back/link.rs
@@ -2542,12 +2542,9 @@ fn add_order_independent_options(
         // sections to ensure we have all the data for PGO.
         let keep_metadata =
             crate_type == CrateType::Dylib || sess.opts.cg.profile_generate.enabled();
-        if crate_type != CrateType::Executable || !sess.opts.unstable_opts.export_executable_symbols
-        {
-            cmd.gc_sections(keep_metadata);
-        } else {
-            cmd.no_gc_sections();
-        }
+        cmd.gc_sections(keep_metadata);
+    } else {
+        cmd.no_gc_sections();
     }
 
     cmd.set_output_kind(link_output_kind, crate_type, out_filename);