LoongArch: Use rustc option -Zdirect-access-external-data
-Zdirect-access-external-data is a new Rust compiler option added in Rust 1.78, which we use to optimize the access of external data in the Linux kernel's Rust code. This patch modifies the Rust code in vmlinux to directly access externa data, using PC-REL instead of GOT. However, Rust code whithin modules is constrained by the PC-REL addressing range and is explicitly set to use an indirect method. Acked-by: Miguel Ojeda <ojeda@kernel.org> Signed-off-by: WANG Rui <wangrui@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
This commit is contained in:
parent
e05d4cd9b8
commit
0d3a632202
@ -105,7 +105,8 @@ KBUILD_CFLAGS += -fno-jump-tables
|
||||
endif
|
||||
|
||||
KBUILD_RUSTFLAGS += --target=loongarch64-unknown-none-softfloat
|
||||
KBUILD_RUSTFLAGS_MODULE += -Crelocation-model=pic
|
||||
KBUILD_RUSTFLAGS_KERNEL += -Zdirect-access-external-data=yes
|
||||
KBUILD_RUSTFLAGS_MODULE += -Zdirect-access-external-data=no
|
||||
|
||||
ifeq ($(CONFIG_RELOCATABLE),y)
|
||||
KBUILD_CFLAGS_KERNEL += -fPIE
|
||||
|
Loading…
Reference in New Issue
Block a user