mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-03-03 18:28:01 +01:00
mips: Add support for PC32 relocations in vmlinux
MIPS supports PC32 relocations like most other architectures, which will be used by kallsyms to make its symbol references visible to the linker. Given that these are place-relative, they can be ignored by the 'relocs' tool, just like other PC type relocations. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Link: https://patch.msgid.link/20260116093359.2442297-5-ardb+git@google.com Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
committed by
Nathan Chancellor
parent
6eac13c876
commit
ff79d31eb5
@@ -79,6 +79,7 @@ static const char *rel_type(unsigned type)
|
||||
REL_TYPE(R_MIPS_HIGHEST),
|
||||
REL_TYPE(R_MIPS_PC21_S2),
|
||||
REL_TYPE(R_MIPS_PC26_S2),
|
||||
REL_TYPE(R_MIPS_PC32),
|
||||
#undef REL_TYPE
|
||||
};
|
||||
const char *name = "unknown type rel type name";
|
||||
@@ -522,6 +523,7 @@ static int do_reloc(struct section *sec, Elf_Rel *rel, Elf_Sym *sym,
|
||||
case R_MIPS_PC16:
|
||||
case R_MIPS_PC21_S2:
|
||||
case R_MIPS_PC26_S2:
|
||||
case R_MIPS_PC32:
|
||||
/*
|
||||
* NONE can be ignored and PC relative relocations don't
|
||||
* need to be adjusted.
|
||||
|
||||
@@ -123,6 +123,8 @@
|
||||
#define R_MIPS_LOVENDOR 100
|
||||
#define R_MIPS_HIVENDOR 127
|
||||
|
||||
#define R_MIPS_PC32 248
|
||||
|
||||
#define SHN_MIPS_ACCOMON 0xff00 /* Allocated common symbols */
|
||||
#define SHN_MIPS_TEXT 0xff01 /* Allocated test symbols. */
|
||||
#define SHN_MIPS_DATA 0xff02 /* Allocated data symbols. */
|
||||
|
||||
Reference in New Issue
Block a user