summaryrefslogtreecommitdiff
path: root/Documentation/rust/arch-support.rst
diff options
context:
space:
mode:
authorWANG Xuerui <git@xen0n.name>2024-01-17 07:42:59 +0300
committerHuacai Chen <chenhuacai@loongson.cn>2024-01-17 07:42:59 +0300
commit2772ae4d66d17c6a8b4c167ddb660fc8d7972da5 (patch)
tree0fc145c97b716eb12a12e859041717570a1e4475 /Documentation/rust/arch-support.rst
parent0dd3ee31125508cd67f7e7172247f05b7fd1753a (diff)
downloadlinux-2772ae4d66d17c6a8b4c167ddb660fc8d7972da5.tar.xz
modpost: Ignore relaxation and alignment marker relocs on LoongArch
With recent trunk versions of binutils and gcc, alignment directives are represented with R_LARCH_ALIGN relocs on LoongArch, which is necessary for the linker to maintain alignment requirements during its relaxation passes. And even though the kernel is built with relaxation disabled, so far a small number of R_LARCH_RELAX marker relocs are still emitted as part of la.* pseudo instructions in assembly. These two kinds of relocs do not refer to symbols, which can trip up modpost's section mismatch checks, because the r_offset of said relocs can be zero or any other meaningless value, eventually leading to a `from == NULL` condition in default_mismatch_handler and SIGSEGV. As the two kinds of relocs are not concerned with symbols, just ignore them for section mismatch check purposes. Signed-off-by: WANG Xuerui <git@xen0n.name> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Diffstat (limited to 'Documentation/rust/arch-support.rst')
0 files changed, 0 insertions, 0 deletions