Home
last modified time | relevance | path

Searched refs:reloc (Results 1 – 12 of 12) sorted by relevance

/tools/objtool/
Delf.c191 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, in find_reloc_by_dest_range()
194 struct reloc *reloc, *r = NULL; in find_reloc_by_dest_range() local
197 if (!sec->reloc) in find_reloc_by_dest_range()
200 sec = sec->reloc; in find_reloc_by_dest_range()
203 elf_hash_for_each_possible(reloc, reloc, hash, in find_reloc_by_dest_range()
205 if (reloc->sec != sec) in find_reloc_by_dest_range()
208 if (reloc->offset >= offset && reloc->offset < offset + len) { in find_reloc_by_dest_range()
209 if (!r || reloc->offset < r->offset) in find_reloc_by_dest_range()
210 r = reloc; in find_reloc_by_dest_range()
220 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset) in find_reloc_by_dest()
[all …]
Dcheck.c446 struct reloc *reloc; in add_dead_ends() local
464 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends()
465 if (reloc->sym->type != STT_SECTION) { in add_dead_ends()
469 insn = find_insn(file, reloc->sym->sec, reloc->addend); in add_dead_ends()
472 else if (reloc->addend == reloc->sym->sec->sh.sh_size) { in add_dead_ends()
473 insn = find_last_insn(file, reloc->sym->sec); in add_dead_ends()
476 reloc->sym->sec->name, reloc->addend); in add_dead_ends()
481 reloc->sym->sec->name, reloc->addend); in add_dead_ends()
499 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends()
500 if (reloc->sym->type != STT_SECTION) { in add_dead_ends()
[all …]
Dspecial.c61 static void reloc_to_sec_off(struct reloc *reloc, struct section **sec, in reloc_to_sec_off() argument
64 *sec = reloc->sym->sec; in reloc_to_sec_off()
65 *off = reloc->sym->offset + reloc->addend; in reloc_to_sec_off()
72 struct reloc *orig_reloc, *new_reloc; in get_alt_entry()
120 struct reloc *key_reloc; in get_alt_entry()
/tools/objtool/include/objtool/
Delf.h36 struct section *base, *reloc; member
66 struct reloc { struct
130 static inline u32 reloc_hash(struct reloc *reloc) in reloc_hash() argument
132 return sec_offset_hash(reloc->sec, reloc->offset); in reloc_hash()
147 int elf_write_reloc(struct elf *elf, struct reloc *reloc);
156 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset);
157 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec,
Dspecial.h39 struct reloc *reloc);
40 struct reloc *arch_find_switch_table(struct objtool_file *file,
Dcheck.h59 struct reloc *jump_table;
60 struct reloc *reloc; member
/tools/objtool/arch/x86/
Dspecial.c43 struct reloc *reloc) in arch_support_alt_relocation() argument
94 struct reloc *arch_find_switch_table(struct objtool_file *file, in arch_find_switch_table()
97 struct reloc *text_reloc, *rodata_reloc; in arch_find_switch_table()
/tools/testing/selftests/bpf/
DREADME.rst216 Clang 13 patch `clang reloc patch`_ made some changes on relocations such
219 See `kernel llvm reloc`_ for more explanation and some examples.
229 .. _clang reloc patch: https://reviews.llvm.org/D102712
230 .. _kernel llvm reloc: /Documentation/bpf/llvm_reloc.rst
/tools/perf/util/
Dmap.h29 u64 reloc; member
Dmap.c121 map->reloc = 0; in map__init()
494 return map->unmap_ip(map, rip) - map->reloc; in map__rip_2objdump()
524 return ip + map->reloc; in map__objdump_2mem()
Dprobe-event.c128 bool reloc, bool reladdr) in kernel_get_symbol_address_by_name() argument
137 *addr = (!map->reloc || reloc) ? reloc_sym->addr : in kernel_get_symbol_address_by_name()
144 ((reloc) ? 0 : map->reloc) - in kernel_get_symbol_address_by_name()
393 address = map->unmap_ip(map, sym->start) - map->reloc; in find_alternative_probe_point()
859 (map->reloc ? reloc_sym->unrelocated_addr : in post_process_kernel_probe_trace_events()
Dsymbol-elf.c1189 map->reloc = kmap->ref_reloc_sym->addr - in dso__load_sym_internal()
1200 map->reloc = map->start - dso->text_offset; in dso__load_sym_internal()