Home
last modified time | relevance | path

Searched full:relocation (Results 1 – 25 of 548) sorted by relevance

12345678910>>...22

/kernel/linux/linux-5.10/Documentation/livepatch/
Dmodule-elf-format.rst12 3. Livepatch relocation sections
13 3.1 Livepatch relocation section format
27 loader to perform the all the arch-specific relocation work. Specifically,
36 table, symbol table, and relocation section indices, Elf information is
38 relocation sections and symbols, which are described in this document. The
39 Elf constants used to mark livepatch symbols and relocation sections were
57 relocation sections in place of dynrela sections, and the symbols that the
59 arch-specific livepatch relocation code is replaced by a call to
86 3. Livepatch relocation sections
89 A livepatch module manages its own Elf relocation sections to apply
[all …]
/kernel/linux/linux-6.6/Documentation/livepatch/
Dmodule-elf-format.rst21 loader to perform the all the arch-specific relocation work. Specifically,
30 table, symbol table, and relocation section indices, ELF information is
32 relocation sections and symbols, which are described in this document. The
33 ELF constants used to mark livepatch symbols and relocation sections were
51 relocation sections in place of dynrela sections, and the symbols that the
53 arch-specific livepatch relocation code is replaced by a call to
80 3. Livepatch relocation sections
83 A livepatch module manages its own ELF relocation sections to apply
87 relocation section(s) to the driver once it loads.
90 multiple livepatch relocation sections associated with it (e.g. patches to
[all …]
/kernel/linux/linux-5.10/arch/sh/kernel/
Dmodule.c33 Elf32_Addr relocation; in apply_relocate_add() local
47 relocation = sym->st_value + rel[i].r_addend; in apply_relocate_add()
54 value += relocation; in apply_relocate_add()
58 relocation = (relocation - (Elf32_Addr) location); in apply_relocate_add()
60 value += relocation; in apply_relocate_add()
65 ((relocation & 0xffff) << 10); in apply_relocate_add()
69 (((relocation >> 16) & 0xffff) << 10); in apply_relocate_add()
72 relocation -= (Elf32_Addr) location; in apply_relocate_add()
74 ((relocation & 0xffff) << 10); in apply_relocate_add()
77 relocation -= (Elf32_Addr) location; in apply_relocate_add()
[all …]
/kernel/linux/linux-6.6/arch/sh/kernel/
Dmodule.c33 Elf32_Addr relocation; in apply_relocate_add() local
47 relocation = sym->st_value + rel[i].r_addend; in apply_relocate_add()
54 value += relocation; in apply_relocate_add()
58 relocation = (relocation - (Elf32_Addr) location); in apply_relocate_add()
60 value += relocation; in apply_relocate_add()
65 ((relocation & 0xffff) << 10); in apply_relocate_add()
69 (((relocation >> 16) & 0xffff) << 10); in apply_relocate_add()
72 relocation -= (Elf32_Addr) location; in apply_relocate_add()
74 ((relocation & 0xffff) << 10); in apply_relocate_add()
77 relocation -= (Elf32_Addr) location; in apply_relocate_add()
[all …]
/kernel/linux/linux-6.6/Documentation/bpf/
Dllvm_reloc.rst7 This document describes LLVM BPF backend relocation types.
9 Relocation Record
12 LLVM BPF backend records each relocation with the following 16-byte
18 Elf64_Xword r_info; // Relocation type and symbol index.
55 Relocation section '.rel.text' at offset 0x190 contains 4 entries:
62 Each relocation is represented by ``Offset`` (8 bytes) and ``Info`` (8 bytes).
63 For example, the first relocation corresponds to the first instruction
64 (Offset 0x0) and the corresponding ``Info`` indicates the relocation type
81 Similarly, the second relocation is at ``.text`` offset ``0x18``, instruction 3,
83 The second relocation resolves to global variable ``g2`` which has a symbol
[all …]
/kernel/linux/linux-6.6/arch/mips/include/asm/
Dmodule.h20 Elf64_Addr r_offset; /* Address of relocation. */
23 Elf64_Byte r_type3; /* Third relocation. */
24 Elf64_Byte r_type2; /* Second relocation. */
25 Elf64_Byte r_type; /* First relocation. */
29 Elf64_Addr r_offset; /* Address of relocation. */
32 Elf64_Byte r_type3; /* Third relocation. */
33 Elf64_Byte r_type2; /* Second relocation. */
34 Elf64_Byte r_type; /* First relocation. */
/kernel/linux/linux-5.10/arch/mips/include/asm/
Dmodule.h20 Elf64_Addr r_offset; /* Address of relocation. */
23 Elf64_Byte r_type3; /* Third relocation. */
24 Elf64_Byte r_type2; /* Second relocation. */
25 Elf64_Byte r_type; /* First relocation. */
29 Elf64_Addr r_offset; /* Address of relocation. */
32 Elf64_Byte r_type3; /* Third relocation. */
33 Elf64_Byte r_type2; /* Second relocation. */
34 Elf64_Byte r_type; /* First relocation. */
/kernel/linux/linux-6.6/arch/arc/kernel/
Dmodule.c23 * This gets called before relocation loop in generic loader
54 Elf32_Addr relocation, location, tgt_addr; in apply_relocate_add() local
72 /* Loop thru entries in relocation section */ in apply_relocate_add()
83 relocation = sym_entry->st_value + rel_entry[i].r_addend; in apply_relocate_add()
93 sym_entry->st_value, location, relocation, s); in apply_relocate_add()
98 * Both of these are handled by same relocation type in apply_relocate_add()
103 arc_write_me((unsigned short *)location, relocation); in apply_relocate_add()
105 *((Elf32_Addr *) location) = relocation; in apply_relocate_add()
107 *((Elf32_Addr *) location) = relocation - location; in apply_relocate_add()
121 pr_err("%s: unknown relocation: %u\n", in apply_relocate_add()
/kernel/linux/linux-5.10/arch/arc/kernel/
Dmodule.c23 * This gets called before relocation loop in generic loader
54 Elf32_Addr relocation, location, tgt_addr; in apply_relocate_add() local
72 /* Loop thru entries in relocation section */ in apply_relocate_add()
83 relocation = sym_entry->st_value + rel_entry[i].r_addend; in apply_relocate_add()
93 sym_entry->st_value, location, relocation, s); in apply_relocate_add()
98 * Both of these are handled by same relocation type in apply_relocate_add()
103 arc_write_me((unsigned short *)location, relocation); in apply_relocate_add()
105 *((Elf32_Addr *) location) = relocation; in apply_relocate_add()
107 *((Elf32_Addr *) location) = relocation - location; in apply_relocate_add()
121 pr_err("%s: unknown relocation: %u\n", in apply_relocate_add()
/kernel/linux/linux-5.10/scripts/
Dcheck_extable.sh26 # __ex_table relocation to your new section is expected), simply add your
44 # When the relocation points to the begining of a symbol or section, it
53 # The target of the .altinstr_replacement is the relocation just before
79 # We've got a relocation to a non white listed _executable_
82 # and line number where that relocation was added.
86 # Something is definitively wrong here since we've got a relocation
110 # Let's find out where the target of the relocation in __ex_table
114 # When there's a global symbol at the place of the relocation,
127 # Will either print a warning if the relocation happens to be in a
/kernel/linux/linux-6.6/scripts/
Dcheck_extable.sh26 # __ex_table relocation to your new section is expected), simply add your
44 # When the relocation points to the begining of a symbol or section, it
53 # The target of the .altinstr_replacement is the relocation just before
79 # We've got a relocation to a non white listed _executable_
82 # and line number where that relocation was added.
86 # Something is definitively wrong here since we've got a relocation
110 # Let's find out where the target of the relocation in __ex_table
114 # When there's a global symbol at the place of the relocation,
127 # Will either print a warning if the relocation happens to be in a
/kernel/linux/linux-5.10/arch/mips/kernel/
Drelocate.c6 * Support for Kernel relocation at boot time
28 extern u32 _relocation_start[]; /* End kernel image / start relocation table */
29 extern u32 _relocation_end[]; /* End relocation table */
37 * This function may be defined for a platform to perform any post-relocation
39 * Return non-zero to abort relocation
92 pr_err("Dangerous R_MIPS_26 REL relocation\n"); in apply_r_mips_26_rel()
104 pr_err("R_MIPS_26 REL relocation overflow\n"); in apply_r_mips_26_rel()
144 /* Sentinel for last relocation */ in do_relocations()
153 /* Unsupported relocation */ in do_relocations()
154 pr_err("Unhandled relocation type %d at 0x%pK\n", in do_relocations()
[all …]
Dmodule.c61 pr_err("module %s: dangerous R_MIPS_26 relocation\n", in apply_r_mips_26()
67 pr_err("module %s: relocation overflow\n", in apply_r_mips_26()
92 * actual relocation. in apply_r_mips_hi16()
145 * Do the HI16 relocation. Note that we actually don't in apply_r_mips_lo16()
184 pr_err("module %s: dangerous R_MIPS_LO16 relocation\n", me->name); in apply_r_mips_lo16()
197 pr_err("module %s: dangerous R_MIPS_PC%u relocation\n", in apply_r_mips_pc()
211 pr_err("module %s: relocation overflow\n", me->name); in apply_r_mips_pc()
274 * reloc_handler() - Apply a particular relocation to a module
281 * relocation to the module @me. Relocs that may be found in either REL or RELA
352 pr_err("%s: Unknown relocation type %u\n", in __apply_relocate()
[all …]
/kernel/linux/linux-6.6/arch/arm/mach-hisi/
Dplatmcpm.c66 * [2]: relocation address
67 * [3]: relocation size
269 void __iomem *relocation; in hip04_smp_init() local
292 relocation = ioremap(hip04_boot_method[2], hip04_boot_method[3]); in hip04_smp_init()
293 if (!relocation) { in hip04_smp_init()
294 pr_err("failed to map relocation space\n"); in hip04_smp_init()
327 writel_relaxed(hip04_boot_method[0], relocation); in hip04_smp_init()
328 writel_relaxed(0xa5a5a5a5, relocation + 4); /* magic number */ in hip04_smp_init()
329 writel_relaxed(__pa_symbol(secondary_startup), relocation + 8); in hip04_smp_init()
330 writel_relaxed(0, relocation + 12); in hip04_smp_init()
[all …]
/kernel/linux/linux-5.10/arch/arm/mach-hisi/
Dplatmcpm.c66 * [2]: relocation address
67 * [3]: relocation size
269 void __iomem *relocation; in hip04_smp_init() local
292 relocation = ioremap(hip04_boot_method[2], hip04_boot_method[3]); in hip04_smp_init()
293 if (!relocation) { in hip04_smp_init()
294 pr_err("failed to map relocation space\n"); in hip04_smp_init()
327 writel_relaxed(hip04_boot_method[0], relocation); in hip04_smp_init()
328 writel_relaxed(0xa5a5a5a5, relocation + 4); /* magic number */ in hip04_smp_init()
329 writel_relaxed(__pa_symbol(secondary_startup), relocation + 8); in hip04_smp_init()
330 writel_relaxed(0, relocation + 12); in hip04_smp_init()
[all …]
/kernel/linux/linux-6.6/arch/mips/kernel/
Drelocate.c6 * Support for Kernel relocation at boot time
29 extern u32 _relocation_start[]; /* End kernel image / start relocation table */
30 extern u32 _relocation_end[]; /* End relocation table */
38 * This function may be defined for a platform to perform any post-relocation
40 * Return non-zero to abort relocation
89 pr_err("Dangerous R_MIPS_26 REL relocation\n"); in apply_r_mips_26_rel()
101 pr_err("R_MIPS_26 REL relocation overflow\n"); in apply_r_mips_26_rel()
141 pr_err("Unhandled relocation type %d at 0x%pK\n", type, in reloc_handler()
158 /* Sentinel for last relocation */ in do_relocations()
176 * It must be relocated separately since there will not be any relocation
[all …]
Dmodule.c53 pr_err("module %s: dangerous R_MIPS_26 relocation\n", in apply_r_mips_26()
59 pr_err("module %s: relocation overflow\n", in apply_r_mips_26()
84 * actual relocation. in apply_r_mips_hi16()
137 * Do the HI16 relocation. Note that we actually don't in apply_r_mips_lo16()
176 pr_err("module %s: dangerous R_MIPS_LO16 relocation\n", me->name); in apply_r_mips_lo16()
189 pr_err("module %s: dangerous R_MIPS_PC%u relocation\n", in apply_r_mips_pc()
203 pr_err("module %s: relocation overflow\n", me->name); in apply_r_mips_pc()
263 * reloc_handler() - Apply a particular relocation to a module
264 * @type: type of the relocation to apply
269 * @rela: indication of is this a RELA (true) or REL (false) relocation
[all …]
/kernel/linux/linux-5.10/arch/x86/boot/compressed/
Dmisc.c6 * which includes KASLR relocation, decompression, ELF parsing, and
7 * relocation processing. Additionally included are the screen and serial
25 * run time, but no relocation processing is performed. This means that
191 * The kernel contains a table of relocation addresses. Those in handle_relocations()
208 debug_putstr("No relocation needed... "); in handle_relocations()
216 * before compression. Each relocation table entry is the kernel in handle_relocations()
224 * 64 bit relocation repeated in handle_relocations()
226 * 32 bit inverse relocation repeated in handle_relocations()
228 * 32 bit relocation repeated in handle_relocations()
238 error("32-bit relocation outside of kernel!\n"); in handle_relocations()
[all …]
/kernel/linux/linux-6.6/arch/x86/boot/compressed/
Dmisc.c6 * which includes KASLR relocation, decompression, ELF parsing, and
7 * relocation processing. Additionally included are the screen and serial
25 * run time, but no relocation processing is performed. This means that
200 * The kernel contains a table of relocation addresses. Those in handle_relocations()
217 debug_putstr("No relocation needed... "); in handle_relocations()
225 * before compression. Each relocation table entry is the kernel in handle_relocations()
233 * 64 bit relocation repeated in handle_relocations()
235 * 32 bit inverse relocation repeated in handle_relocations()
237 * 32 bit relocation repeated in handle_relocations()
247 error("32-bit relocation outside of kernel!\n"); in handle_relocations()
[all …]
/kernel/linux/linux-6.6/arch/arm64/kvm/hyp/nvhe/
Dgen-hyprel.c6 * Generates relocation information used by the kernel to convert
47 * AArch64 relocation type constants.
311 * Print ASM statements to create a hyp relocation entry for a given
312 * R_AARCH64_ABS64 relocation.
316 * also generate a dynamic relocation entry so that the kernel can shift
323 * relocation referencing a symbol that the hyp linker script put at
335 * Create a PREL32 relocation which instructs the linker of `vmlinux` in emit_rela_abs64()
355 * hyp relocation data for all absolute addresses in hyp code/data.
358 * Failure is reported for unexpected relocation types.
381 * Emit a hyp relocation. in emit_rela_section()
[all …]
/kernel/linux/linux-6.6/arch/loongarch/kernel/
Dmodule.c55 pr_err("%s: Unsupport relocation type %u, please add its support.\n", me->name, type); in apply_r_larch_error()
158 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_sop()
241 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_sop_imm_field()
246 pr_err("module %s: opr1 = 0x%llx overflow! dangerous %s (%u) relocation\n", in apply_r_larch_sop_imm_field()
251 pr_err("module %s: opr1 = 0x%llx unaligned! dangerous %s (%u) relocation\n", in apply_r_larch_sop_imm_field()
273 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_add_sub()
294 pr_err("module %s: jump offset = 0x%llx unaligned! dangerous R_LARCH_B26 (%u) relocation\n", in apply_r_larch_b26()
300 pr_err("module %s: jump offset = 0x%llx overflow! dangerous R_LARCH_B26 (%u) relocation\n", in apply_r_larch_b26()
339 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_pcala()
363 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_got_pc()
[all …]
/kernel/linux/linux-5.10/arch/loongarch/kernel/
Dmodule.c66 pr_err("%s: Unsupport relocation type %u, please add its support.\n", me->name, type); in apply_r_larch_error()
169 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_sop()
252 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_sop_imm_field()
257 pr_err("module %s: opr1 = 0x%llx overflow! dangerous %s (%u) relocation\n", in apply_r_larch_sop_imm_field()
262 pr_err("module %s: opr1 = 0x%llx unaligned! dangerous %s (%u) relocation\n", in apply_r_larch_sop_imm_field()
284 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_add_sub()
305 pr_err("module %s: jump offset = 0x%llx unaligned! dangerous R_LARCH_B26 (%u) relocation\n", in apply_r_larch_b26()
311 pr_err("module %s: jump offset = 0x%llx overflow! dangerous R_LARCH_B26 (%u) relocation\n", in apply_r_larch_b26()
350 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_pcala()
374 pr_err("%s: Unsupport relocation type %u\n", mod->name, type); in apply_r_larch_got_pc()
[all …]
/kernel/linux/linux-6.6/arch/mips/boot/tools/
Drelocs_64.c17 Elf64_Byte r_type3; /* Third relocation. */
18 Elf64_Byte r_type2; /* Second relocation. */
19 Elf64_Byte r_type; /* First relocation. */
/kernel/linux/linux-5.10/arch/mips/boot/tools/
Drelocs_64.c17 Elf64_Byte r_type3; /* Third relocation. */
18 Elf64_Byte r_type2; /* Second relocation. */
19 Elf64_Byte r_type; /* First relocation. */
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/remoteproc/
Dqcom,pil-info.yaml7 title: Qualcomm peripheral image loader relocation info binding
13 The Qualcomm peripheral image loader relocation memory region, in IMEM, is
14 used for communicating remoteproc relocation information to post mortem

12345678910>>...22