[英]How to compile rust with tpidr1 as thread local register
在裸机 AArch64 中,rust 生成tpidr0
作为thread_local
计算的默认寄存器。 对于 kernel 等场景,应使用tpidr1
而不是tpidr0
。 如何使 rust 编译器生成代码以使用tpidr1
而不是默认值?
LLVM 支持自定义属性-mattr=tipdr-el[1|2|3]
来覆盖线程本地寄存器。
默认情况下, tipdr0
用于此目的。 这可以通过执行以下操作在 rust 中覆盖
rustc -C target-feature=tpidr-el1 --target=aarch64-unknown-none
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.