Skip to content

Commit a2d5552

Browse files
committed
[SOL] Fix SBPFv4 linker invocation
1 parent 293a1b6 commit a2d5552

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

compiler/rustc_codegen_ssa/src/back/linker.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -451,8 +451,10 @@ impl<'a> GccLinker<'a> {
451451
} else {
452452
self.link_arg("--entry=entrypoint");
453453
}
454-
if self.sess.opts.cg.target_cpu.as_ref()
455-
.unwrap_or(&self.sess.target.cpu.as_ref().to_string()) == "v3" {
454+
455+
let cpu_type = self.sess.opts.cg.target_cpu.as_ref().cloned()
456+
.unwrap_or(self.sess.target.cpu.as_ref().to_string());
457+
if cpu_type == "v3" || cpu_type == "v4" {
456458
self.link_arg("-Bsymbolic");
457459
if self.sess.opts.debuginfo == DebugInfo::None {
458460
self.link_arg("--strip-all");

compiler/rustc_target/src/spec/base/sbf_base.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,21 +86,19 @@ pub(crate) fn opts(version: &'static str) -> TargetOptions {
8686
"--threads=1", "-z", "notext", "--Bdynamic"
8787
];
8888

89-
if version != "v3" {
89+
let linker_script = if version == "v3" || version == "v4" {
90+
V3_LINKER_SCRIPT
91+
} else {
9092
linker_args.push("-z");
9193
linker_args.push("max-page-size=4096");
92-
}
93-
94+
V0_LINKER_SCRIPT
95+
};
96+
9497
let pre_link_args = TargetOptions::link_args(
9598
LinkerFlavor::Gnu(Cc::No, Lld::No),
9699
linker_args.as_slice(),
97100
);
98-
99-
let linker_script = if version == "v3" || version == "v4" {
100-
V3_LINKER_SCRIPT
101-
} else {
102-
V0_LINKER_SCRIPT
103-
};
101+
104102
let cpu = if version == "v0" {
105103
"generic"
106104
} else {

src/llvm-project

0 commit comments

Comments
 (0)