diff options
author | WANG Xuerui <git@xen0n.name> | 2024-01-17 07:42:59 +0300 |
---|---|---|
committer | Huacai Chen <chenhuacai@loongson.cn> | 2024-01-17 07:42:59 +0300 |
commit | 2772ae4d66d17c6a8b4c167ddb660fc8d7972da5 (patch) | |
tree | 0fc145c97b716eb12a12e859041717570a1e4475 /lib/errseq.c | |
parent | 0dd3ee31125508cd67f7e7172247f05b7fd1753a (diff) | |
download | linux-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 'lib/errseq.c')
0 files changed, 0 insertions, 0 deletions