Skip to content

Commit 5c91e21

Browse files
authored
fix: add missing arm64rt library to linker flags for arm64 kernel-mode builds (#261)
1 parent 2e7572a commit 5c91e21

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

crates/wdk-build/src/lib.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -698,6 +698,12 @@ impl Config {
698698
println!("cargo::rustc-link-lib=static=hal");
699699
println!("cargo::rustc-link-lib=static=wmilib");
700700

701+
// Emit ARM64-specific libraries to link to derived from
702+
// WindowsDriver.arm64.props
703+
if self.cpu_architecture == CpuArchitecture::Arm64 {
704+
println!("cargo::rustc-link-lib=static=arm64rt");
705+
}
706+
701707
// Linker arguments derived from WindowsDriver.KernelMode.props in Ni(22H2) WDK
702708
println!("cargo::rustc-cdylib-link-arg=/DRIVER");
703709
println!("cargo::rustc-cdylib-link-arg=/NODEFAULTLIB");
@@ -717,6 +723,12 @@ impl Config {
717723
println!("cargo::rustc-link-lib=static=WdfLdr");
718724
println!("cargo::rustc-link-lib=static=WdfDriverEntry");
719725

726+
// Emit ARM64-specific libraries to link to derived from
727+
// WindowsDriver.arm64.props
728+
if self.cpu_architecture == CpuArchitecture::Arm64 {
729+
println!("cargo::rustc-link-lib=static=arm64rt");
730+
}
731+
720732
// Linker arguments derived from WindowsDriver.KernelMode.props in Ni(22H2) WDK
721733
println!("cargo::rustc-cdylib-link-arg=/DRIVER");
722734
println!("cargo::rustc-cdylib-link-arg=/NODEFAULTLIB");

0 commit comments

Comments
 (0)