Home
last modified time | relevance | path

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

1234567891011

/Linux-v5.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 …]
/Linux-v5.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 …]
/Linux-v5.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. */
/Linux-v5.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()
/Linux-v5.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 …]
/Linux-v5.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
/Linux-v5.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 …]
/Linux-v5.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 …]
/Linux-v5.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. */
/Linux-v5.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
/Linux-v5.10/include/linux/
Dmoduleloader.h43 * Apply the given relocation to the (simplified) ELF. Return -error
59 printk(KERN_ERR "module %s: REL relocation unsupported\n", in apply_relocate()
66 * Apply the given add relocation to the (simplified) ELF. Return
82 printk(KERN_ERR "module %s: REL relocation unsupported\n", in apply_relocate_add()
/Linux-v5.10/arch/xtensa/kernel/
Dmodule.c87 pr_err("%s: relocation out of range, " in apply_relocate_add()
111 pr_err("%s: relocation out of range, " in apply_relocate_add()
156 pr_err("%s: unexpected FLIX relocation: %u\n", in apply_relocate_add()
176 pr_err("%s: unexpected ALT relocation: %u\n", in apply_relocate_add()
182 pr_err("%s: unexpected relocation: %u\n", in apply_relocate_add()
/Linux-v5.10/tools/perf/tests/
Dbpf-script-test-relocation.c3 * bpf-script-test-relocation.c
4 * Test BPF loader checking relocation
44 * Incorrect relocation. Should not allow this program be in bpf_func__sys_write()
/Linux-v5.10/arch/x86/tools/
Drelocs.c623 * relocation is harmless. in print_absolute_relocs()
707 * need further relocation (since the value is an offset relative
807 die("Invalid R_X86_64_PC64 relocation against per-CPU symbol %s\n", in do_reloc64()
823 * relocation. in do_reloc64()
828 die("Invalid absolute %s relocation: %s\n", in do_reloc64()
834 * Relocation offsets for 64 bit kernels are output in do_reloc64()
840 die("Relocation offset doesn't fit in 32 bits\n"); in do_reloc64()
849 die("Unsupported relocation type: %s (%d)\n", in do_reloc64()
880 * relocation. in do_reloc32()
885 die("Invalid absolute %s relocation: %s\n", in do_reloc32()
[all …]
/Linux-v5.10/arch/powerpc/tools/
Drelocs_check.sh24 # which will result in an absolute relocation to 0.
31 # Only look at relocation lines.
58 # If we see this type of relocation it's an idication that
/Linux-v5.10/arch/nios2/kernel/
Dmodule.c26 * But we do it for now to avoid relocation issues. CALL26/PCREL26 cannot reach
80 pr_err("module %s: relocation overflow\n", in apply_relocate_add()
90 pr_err("module %s: dangerous relocation\n", in apply_relocate_add()
95 pr_err("module %s: relocation overflow\n", in apply_relocate_add()
/Linux-v5.10/arch/riscv/include/uapi/asm/
Delf.h36 * RISC-V relocation types
39 /* Relocation types used by the dynamic linker */
53 /* Relocation types not used by the dynamic linker */
/Linux-v5.10/arch/arm64/kernel/
Dmodule.c85 pr_err("do_reloc: unknown relocation operation %d\n", reloc_op); in do_reloc()
118 pr_err("Invalid 16-bit data relocation (%d)\n", op); in reloc_data()
134 pr_err("Invalid 32-bit data relocation (%d)\n", op); in reloc_data()
142 pr_err("Invalid length (%d) for data relocation\n", len); in reloc_data()
201 /* Calculate the relocation value. */ in reloc_insn_imm()
285 /* Perform the static relocation. */ in apply_relocate_add()
456 pr_err("module %s: unsupported RELA relocation: %llu\n", in apply_relocate_add()
469 pr_err("module %s: overflow in relocation type %d val %Lx\n", in apply_relocate_add()
/Linux-v5.10/scripts/mod/
Dmodpost.h57 unsigned char r_ssym; /* Special symbol for 2nd relocation */
58 unsigned char r_type3; /* 3rd relocation type */
59 unsigned char r_type2; /* 2nd relocation type */
60 unsigned char r_type1; /* 1st relocation type */
/Linux-v5.10/tools/testing/selftests/bpf/progs/
Dtest_global_data.c37 /* Relocation tests for __u64s. */
46 /* Relocation tests for strings. */
51 /* Relocation tests for structs. */
/Linux-v5.10/arch/nds32/kernel/
Dmodule.c96 pr_err("\n%s: relocation type %d out of range.\n" in exceed_limit()
132 pr_err("%s: bad relocation\n", module->name); in apply_relocate_add()
141 pr_err("%s: out of bounds relocation\n", module->name); in apply_relocate_add()
250 pr_err("%s: unsupported relocation type %d.\n", in apply_relocate_add()
260 pr_err("%s: unsupported relocation type %d.\n", in apply_relocate_add()
/Linux-v5.10/drivers/remoteproc/
Dqcom_pil_info.c12 * The PIL relocation information region is used to communicate memory regions
52 pr_err("failed to map PIL relocation info region\n"); in qcom_pil_info_init()
128 MODULE_DESCRIPTION("Qualcomm PIL relocation info");
/Linux-v5.10/Documentation/devicetree/bindings/arm/hisilicon/controller/
Dhip04-bootwrapper.yaml24 [2]: relocation physical address
25 [3]: relocation size
/Linux-v5.10/tools/lib/bpf/
Dbpf_core_read.h9 * info_kind) returns __u32 integer and produces BTF field relocation, which
37 BPF_ENUMVAL_VALUE = 1, /* enum value value relocation */
183 * offset relocation for source address using __builtin_preserve_access_index()
188 * a relocation, which records BTF type ID describing root struct/union and an
190 * an address. See detailed description of this relocation format and
193 * This relocation allows libbpf to adjust BPF instruction to use correct
195 * (local) BTF, used to record relocation.
203 * additionally emitting BPF CO-RE field relocation for specified source

1234567891011