| /linux-6.15/tools/objtool/include/objtool/ |
| H A D | elf.h | 77 struct reloc { struct 203 return reloc - reloc->sec->relocs; in reloc_idx() 206 static inline void *reloc_rel(struct reloc *reloc) in reloc_rel() argument 213 static inline bool is_32bit_reloc(struct reloc *reloc) in is_32bit_reloc() argument 239 static inline u64 reloc_offset(struct reloc *reloc) in reloc_offset() argument 250 static inline s64 reloc_addend(struct reloc *reloc) in reloc_addend() argument 304 static inline bool is_jump_table(struct reloc *reloc) in is_jump_table() argument 309 static inline void set_jump_table(struct reloc *reloc) in set_jump_table() argument 314 static inline struct reloc *sym_next_reloc(struct reloc *reloc) in sym_next_reloc() argument 319 static inline void set_sym_next_reloc(struct reloc *reloc, struct reloc *next) in set_sym_next_reloc() argument [all …]
|
| H A D | arch.h | 99 bool arch_pc_relative_reloc(struct reloc *reloc); 101 unsigned int arch_reloc_size(struct reloc *reloc); 102 unsigned long arch_jump_table_sym_offset(struct reloc *reloc, struct reloc *table);
|
| H A D | special.h | 37 struct reloc *reloc); 38 struct reloc *arch_find_switch_table(struct objtool_file *file,
|
| /linux-6.15/tools/objtool/arch/loongarch/ |
| H A D | special.c | 8 struct reloc *reloc) in arch_support_alt_relocation() argument 24 struct reloc *reloc; in get_rodata_table_size_by_table_annotate() local 44 orig_table->insn_offset = reloc->sym->offset + reloc_addend(reloc); in get_rodata_table_size_by_table_annotate() 45 reloc++; in get_rodata_table_size_by_table_annotate() 46 orig_table->rodata_offset = reloc->sym->offset + reloc_addend(reloc); in get_rodata_table_size_by_table_annotate() 94 struct reloc *reloc; in find_reloc_by_table_annotate() local 108 offset = reloc->sym->offset + reloc_addend(reloc); in find_reloc_by_table_annotate() 111 reloc++; in find_reloc_by_table_annotate() 112 return reloc; in find_reloc_by_table_annotate() 124 struct reloc *reloc; in find_reloc_of_rodata_c_jump_table() local [all …]
|
| H A D | decode.c | 25 bool arch_pc_relative_reloc(struct reloc *reloc) in arch_pc_relative_reloc() argument 368 unsigned int arch_reloc_size(struct reloc *reloc) in arch_reloc_size() argument 370 switch (reloc_type(reloc)) { in arch_reloc_size() 379 unsigned long arch_jump_table_sym_offset(struct reloc *reloc, struct reloc *table) in arch_jump_table_sym_offset() argument 381 switch (reloc_type(reloc)) { in arch_jump_table_sym_offset() 384 return reloc->sym->offset + reloc_addend(reloc) - in arch_jump_table_sym_offset() 385 (reloc_offset(reloc) - reloc_offset(table)); in arch_jump_table_sym_offset() 387 return reloc->sym->offset + reloc_addend(reloc); in arch_jump_table_sym_offset()
|
| /linux-6.15/tools/objtool/ |
| H A D | elf.c | 274 struct reloc *reloc, *r = NULL; in find_reloc_by_dest_range() local 283 elf_hash_for_each_possible(reloc, reloc, hash, in find_reloc_by_dest_range() 291 r = reloc; in find_reloc_by_dest_range() 580 struct reloc *reloc; in elf_update_sym_relocs() local 582 for (reloc = sym->relocs; reloc; reloc = sym_next_reloc(reloc)) in elf_update_sym_relocs() 583 set_reloc_sym(elf, reloc, reloc->sym->idx); in elf_update_sym_relocs() 854 struct reloc *reloc, empty = { 0 }; in elf_init_reloc() local 878 elf_hash_add(reloc, &reloc->hash, reloc_hash(reloc)); in elf_init_reloc() 882 return reloc; in elf_init_reloc() 936 struct reloc *reloc; in read_relocs() local [all …]
|
| H A D | check.c | 549 struct reloc *reloc; in add_pv_ops() local 928 struct reloc *reloc; in create_mcount_loc_sections() local 989 struct reloc *reloc; in add_ignores() local 1257 struct reloc *reloc; in insn_reloc() local 1482 struct reloc *reloc; in add_jump_destinations() local 1645 struct reloc *reloc; in add_call_destinations() local 2197 struct reloc *reloc; in read_unwind_hints() local 2298 struct reloc *reloc; in read_annotate() local 3326 struct reloc *reloc; in call_dest_name() local 3345 struct reloc *reloc; in pv_call_dest() local [all …]
|
| H A D | special.c | 61 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(reloc); in reloc_to_sec_off() 72 struct reloc *orig_reloc, *new_reloc; in get_alt_entry() 112 struct reloc *key_reloc; in get_alt_entry()
|
| /linux-6.15/drivers/gpu/drm/radeon/ |
| H A D | r600_cs.c | 969 struct radeon_bo_list *reloc; in r600_cs_check_reg() local 1294 track->db_bo = reloc->robj; in r600_cs_check_reg() 1629 struct radeon_bo_list *reloc; in r600_packet3_check() local 1673 offset = reloc->gpu_offset + in r600_packet3_check() 1714 offset = reloc->gpu_offset + in r600_packet3_check() 1766 offset = reloc->gpu_offset + in r600_packet3_check() 1900 offset = reloc->gpu_offset + in r600_packet3_check() 1972 texture = reloc->robj; in r600_packet3_check() 1980 mipmap = reloc->robj; in r600_packet3_check() 1985 reloc->tiling_flags); in r600_packet3_check() [all …]
|
| H A D | r200.c | 149 struct radeon_bo_list *reloc; in r200_packet0_check() local 181 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check() 188 track->zb.robj = reloc->robj; in r200_packet0_check() 191 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r200_packet0_check() 194 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check() 201 track->cb[0].robj = reloc->robj; in r200_packet0_check() 213 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check() 228 ib[idx] = tmp + ((u32)reloc->gpu_offset); in r200_packet0_check() 231 track->textures[i].robj = reloc->robj; in r200_packet0_check() 266 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check() [all …]
|
| H A D | evergreen_cs.c | 1098 struct radeon_bo_list *reloc; in evergreen_cs_handle_reg() local 1776 struct radeon_bo_list *reloc; in evergreen_packet3_check() local 1820 offset = reloc->gpu_offset + in evergreen_packet3_check() 1866 offset = reloc->gpu_offset + in evergreen_packet3_check() 1901 offset = reloc->gpu_offset + in evergreen_packet3_check() 1929 offset = reloc->gpu_offset + in evergreen_packet3_check() 2271 offset = reloc->gpu_offset + in evergreen_packet3_check() 2293 offset = reloc->gpu_offset + in evergreen_packet3_check() 2378 texture = reloc->robj; in evergreen_packet3_check() 2399 mipmap = reloc->robj; in evergreen_packet3_check() [all …]
|
| H A D | r300.c | 631 struct radeon_bo_list *reloc; in r300_packet0_check() local 665 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 672 track->cb[i].robj = reloc->robj; in r300_packet0_check() 678 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 685 track->zb.robj = reloc->robj; in r300_packet0_check() 707 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 726 tmp = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check() 730 track->textures[i].robj = reloc->robj; in r300_packet0_check() 1080 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 1129 track->aa.robj = reloc->robj; in r300_packet0_check() [all …]
|
| /linux-6.15/drivers/gpu/drm/qxl/ |
| H A D | qxl_ioctl.c | 204 struct drm_qxl_reloc reloc; in qxl_process_single_command() local 207 if (copy_from_user(&reloc, u + i, sizeof(reloc))) { in qxl_process_single_command() 214 if (reloc.reloc_type != QXL_RELOC_TYPE_BO && reloc.reloc_type != QXL_RELOC_TYPE_SURF) { in qxl_process_single_command() 215 DRM_DEBUG("unknown reloc type %d\n", reloc.reloc_type); in qxl_process_single_command() 220 reloc_info[i].type = reloc.reloc_type; in qxl_process_single_command() 222 if (reloc.dst_handle) { in qxl_process_single_command() 223 ret = qxlhw_handle_to_bo(file_priv, reloc.dst_handle, release, in qxl_process_single_command() 227 reloc_info[i].dst_offset = reloc.dst_offset; in qxl_process_single_command() 234 if (reloc.reloc_type == QXL_RELOC_TYPE_BO || reloc.src_handle) { in qxl_process_single_command() 235 ret = qxlhw_handle_to_bo(file_priv, reloc.src_handle, release, in qxl_process_single_command() [all …]
|
| /linux-6.15/drivers/gpu/host1x/ |
| H A D | job.c | 158 reloc->target.bo = host1x_bo_get(reloc->target.bo); in pin_job() 159 if (!reloc->target.bo) { in pin_job() 164 bo = reloc->target.bo; in pin_job() 166 switch (reloc->flags & mask) { in pin_job() 289 reloc->target.offset) >> reloc->shift; in do_relocs() 293 if (cmdbuf != reloc->cmdbuf.bo) in do_relocs() 328 if (reloc->cmdbuf.bo != cmdbuf || reloc->cmdbuf.offset != offset) in check_reloc() 332 if (reloc->shift) in check_reloc() 343 struct host1x_reloc *reloc; member 368 fw->reloc++; in check_register() [all …]
|
| /linux-6.15/arch/riscv/kernel/tests/module_test/ |
| H A D | test_uleb128.S | 23 .reloc second, R_RISCV_SET_ULEB128, second 24 .reloc second, R_RISCV_SUB_ULEB128, first 29 .reloc fourth, R_RISCV_SET_ULEB128, fourth 30 .reloc fourth, R_RISCV_SUB_ULEB128, third
|
| H A D | test_sub16.S | 18 .reloc sub16, R_RISCV_ADD16, second 19 .reloc sub16, R_RISCV_SUB16, first
|
| /linux-6.15/tools/objtool/arch/powerpc/ |
| H A D | decode.c | 91 bool arch_pc_relative_reloc(struct reloc *reloc) in arch_pc_relative_reloc() argument 118 unsigned int arch_reloc_size(struct reloc *reloc) in arch_reloc_size() argument 120 switch (reloc_type(reloc)) { in arch_reloc_size()
|
| H A D | special.c | 10 struct reloc *reloc) in arch_support_alt_relocation() argument 15 struct reloc *arch_find_switch_table(struct objtool_file *file, in arch_find_switch_table()
|
| /linux-6.15/arch/x86/boot/compressed/ |
| H A D | misc.c | 202 int *reloc; in handle_relocations() local 253 for (reloc = output + output_len - sizeof(*reloc); *reloc; reloc--) { in handle_relocations() 254 long extended = *reloc; in handle_relocations() 264 for (reloc--; *reloc; reloc--) { in handle_relocations() 265 long extended = *reloc; in handle_relocations()
|
| /linux-6.15/tools/objtool/arch/x86/ |
| H A D | special.c | 36 struct reloc *reloc) in arch_support_alt_relocation() argument 81 struct reloc *arch_find_switch_table(struct objtool_file *file, in arch_find_switch_table() 85 struct reloc *text_reloc, *rodata_reloc; in arch_find_switch_table()
|
| /linux-6.15/arch/parisc/kernel/ |
| H A D | kexec.c | 76 void (*reloc)(unsigned long head, in machine_kexec() local 89 reloc = (void *)&desc; in machine_kexec() 92 reloc = (void *)virt; in machine_kexec() 107 reloc(image->head & PAGE_MASK, image->start, phys); in machine_kexec()
|
| /linux-6.15/fs/isofs/ |
| H A D | rock.c | 315 struct inode *reloc; in parse_rock_ridge_inode_internal() local 521 if (IS_ERR(reloc)) { in parse_rock_ridge_inode_internal() 522 ret = PTR_ERR(reloc); in parse_rock_ridge_inode_internal() 525 inode->i_mode = reloc->i_mode; in parse_rock_ridge_inode_internal() 526 set_nlink(inode, reloc->i_nlink); in parse_rock_ridge_inode_internal() 527 inode->i_uid = reloc->i_uid; in parse_rock_ridge_inode_internal() 528 inode->i_gid = reloc->i_gid; in parse_rock_ridge_inode_internal() 529 inode->i_rdev = reloc->i_rdev; in parse_rock_ridge_inode_internal() 530 inode->i_size = reloc->i_size; in parse_rock_ridge_inode_internal() 531 inode->i_blocks = reloc->i_blocks; in parse_rock_ridge_inode_internal() [all …]
|
| /linux-6.15/Documentation/devicetree/bindings/remoteproc/ |
| H A D | qcom,pil-info.yaml | 19 const: qcom,pil-reloc-info 41 pil-reloc@94c { 42 compatible = "qcom,pil-reloc-info";
|
| /linux-6.15/scripts/ |
| H A D | check_extable.sh | 42 eval $(echo $reloc | sed 's/\([^+]\+\)+\?\(0x[0-9a-f]\+\)\?/symbol="\1"; symbol_offset="\2"/') 109 for reloc in ${suspicious_relocs}; do 112 find_symbol_and_offset_from_reloc ${reloc}
|
| /linux-6.15/arch/arm64/kvm/hyp/nvhe/ |
| H A D | Makefile | 41 targets += $(hyp-obj) kvm_nvhe.tmp.o kvm_nvhe.rel.o hyp.lds hyp-reloc.S hyp-reloc.o 68 $(obj)/hyp-reloc.S: $(obj)/kvm_nvhe.tmp.o $(obj)/gen-hyprel FORCE 76 $(obj)/kvm_nvhe.rel.o: $(obj)/kvm_nvhe.tmp.o $(obj)/hyp-reloc.o FORCE
|