小编Wil*_*lor的帖子

rust-lld 重定位 R_X86_64_32S 超出范围

我试图将一些代码链接到 0xffff800000000000 但出现错误“重定位 R_X86_64_32S 超出范围”。我正在链接 64 位代码并使用“-C relocation-model=large -C code-model=static”。我还使用自定义链接器脚本。请告诉我如何修复这个错误。

链接器脚本:

SECTIONS
{
    . = 0xffff800000000000;
    .text : { *(.text) }
    .data : { *(.data) }
    .rodata : { *(.rodata) }
    .bss (NOLOAD) : { *(.bss) *(COMMON) }

    /DISCARD/ : { *(.eh_frame) *(.comment) }
}
Run Code Online (Sandbox Code Playgroud)

linker static-linking rust

5
推荐指数
0
解决办法
804
查看次数

在 Rust 中进行条件编译的其他情况

如何仅在没有 cfg 块匹配时才编译某些代码?例如这样的事情:

#IF NUM == 1
//something
#ELSE IF NUM == 2
// something
#ELSE
// no case match, panic!
#ENDIF
Run Code Online (Sandbox Code Playgroud)

rust

5
推荐指数
1
解决办法
4115
查看次数

标签 统计

rust ×2

linker ×1

static-linking ×1