/linux/tools/objtool/include/objtool/ |
H A D | elf.h | 46 struct reloc *relocs; 74 struct reloc *relocs; 78 struct reloc { struct 121 struct reloc *elf_init_reloc_text_sym(struct elf *elf, struct section *sec, 127 struct reloc *elf_init_reloc_data_sym(struct elf *elf, struct section *sec, 145 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset); 146 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, 202 static inline unsigned int reloc_idx(struct reloc *reloc) in reloc_idx() argument 204 return reloc in reloc_idx() 82 _sym_next_relocreloc global() argument 207 reloc_rel(struct reloc * reloc) reloc_rel() argument 214 is_32bit_reloc(struct reloc * reloc) is_32bit_reloc() argument 225 __get_reloc_field(reloc,field) global() argument 232 __set_reloc_field(reloc,field,val) global() argument 240 reloc_offset(struct reloc * reloc) reloc_offset() argument 245 set_reloc_offset(struct elf * elf,struct reloc * reloc,u64 offset) set_reloc_offset() argument 251 reloc_addend(struct reloc * reloc) reloc_addend() argument 256 set_reloc_addend(struct elf * elf,struct reloc * reloc,s64 addend) set_reloc_addend() argument 263 reloc_sym(struct reloc * reloc) reloc_sym() argument 272 reloc_type(struct reloc * reloc) reloc_type() argument 281 set_reloc_sym(struct elf * elf,struct reloc * reloc,unsigned int sym) set_reloc_sym() argument 291 set_reloc_type(struct elf * elf,struct reloc * reloc,unsigned int type) set_reloc_type() argument 305 is_jump_table(struct reloc * reloc) is_jump_table() argument 310 set_jump_table(struct reloc * reloc) set_jump_table() argument 315 sym_next_reloc(struct reloc * reloc) sym_next_reloc() argument 320 set_sym_next_reloc(struct reloc * reloc,struct reloc * next) set_sym_next_reloc() argument 339 for_each_reloc(rsec,reloc) global() argument 345 for_each_reloc_from(rsec,reloc) global() argument 374 reloc_hash(struct reloc * reloc) reloc_hash() 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/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 37 for_each_reloc(rsec, reloc) { in get_rodata_table_size_by_table_annotate() 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; find_reloc_by_table_annotate() local 124 struct reloc *reloc; 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 in arch_jump_table_sym_offset() [all...] |
/linux/tools/objtool/ |
H A D | check.c | 143 static inline struct reloc *insn_jump_table(struct instruction *insn) in insn_jump_table() 551 struct reloc *reloc; in add_pv_ops() local 561 reloc = find_reloc_by_dest_range(file->elf, sym->sec, off, end - off); in add_pv_ops() 562 if (!reloc) in add_pv_ops() 565 idx = (reloc_offset(reloc) - sym->offset) / sizeof(unsigned long); in add_pv_ops() 567 func = reloc->sym; in add_pv_ops() 569 func = find_symbol_by_offset(reloc->sym->sec, in add_pv_ops() 570 reloc_addend(reloc)); in add_pv_ops() 572 ERROR_FUNC(reloc in add_pv_ops() 930 struct reloc *reloc; create_mcount_loc_sections() local 991 struct reloc *reloc; add_ignores() local 1259 struct reloc *reloc; insn_reloc() local 1291 struct reloc *reloc = insn_reloc(file, insn); annotate_call_site() local 1484 struct reloc *reloc; add_jump_destinations() local 1647 struct reloc *reloc; add_call_destinations() local 1871 struct reloc *reloc = insn_reloc(file, orig_insn); handle_jump_alt() local 1982 arch_jump_table_sym_offset(struct reloc * reloc,struct reloc * table) arch_jump_table_sym_offset() argument 1994 struct reloc *reloc = table; add_jump_table() local 2199 struct reloc *reloc; read_unwind_hints() local 2300 struct reloc *reloc; read_annotate() local 3329 struct reloc *reloc; call_dest_name() local 3348 struct reloc *reloc; pv_call_dest() local 4357 struct reloc *reloc; validate_ibt_insn() local 4421 validate_ibt_data_reloc(struct objtool_file * file,struct reloc * reloc) validate_ibt_data_reloc() argument 4452 struct reloc *reloc; validate_ibt() local [all...] |
/linux/drivers/gpu/drm/radeon/ |
H A D | r600_cs.c | 810 * RELOC (P3) - crtc_id in reloc. 910 DRM_ERROR("unknown crtc reloc\n"); in r600_cs_common_vline_parse() 926 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r600_packet0_check() 969 struct radeon_bo_list *reloc; in r600_cs_check_reg() local 1014 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r600_cs_check_reg() 1020 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in r600_cs_check_reg() 1032 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg() 1041 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in r600_cs_check_reg() 1074 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg() 1082 ib[idx] += (u32)((reloc in r600_cs_check_reg() 1629 struct radeon_bo_list *reloc; r600_packet3_check() local [all...] |
H A D | evergreen_cs.c | 1059 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in evergreen_packet0_check() 1098 struct radeon_bo_list *reloc; in evergreen_cs_handle_reg() local 1144 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg() 1150 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg() 1173 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg() 1181 ib[idx] |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg() 1182 track->db_z_info |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg() 1183 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in evergreen_cs_handle_reg() 1186 evergreen_tiling_fields(reloc->tiling_flags, in evergreen_cs_handle_reg() 1215 r = radeon_cs_packet_next_reloc(p, &reloc, in evergreen_cs_handle_reg() 1776 struct radeon_bo_list *reloc; evergreen_packet3_check() local [all...] |
H A D | r200.c | 149 struct radeon_bo_list *reloc; in r200_packet0_check() local 166 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r200_packet0_check() 181 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r200_packet0_check() 183 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", 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() 196 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r200_packet0_check() 201 track->cb[0].robj = reloc->robj; in r200_packet0_check() 204 ib[idx] = idx_value + ((u32)reloc in r200_packet0_check() [all...] |
H A D | r300.c | 631 struct radeon_bo_list *reloc; in r300_packet0_check() local 648 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 665 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 667 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 672 track->cb[i].robj = reloc->robj; in r300_packet0_check() 675 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check() 678 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 680 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 685 track->zb.robj = reloc->robj; in r300_packet0_check() 688 ib[idx] = idx_value + ((u32)reloc in r300_packet0_check() 1176 struct radeon_bo_list *reloc; r300_packet3_check() local [all...] |
/linux/drivers/gpu/drm/qxl/ |
H A D | qxl_ioctl.c | 202 /* fill out reloc info structs */ in qxl_process_single_command() 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 in qxl_process_single_command() [all...] |
/linux/drivers/gpu/host1x/ |
H A D | job.c | 153 struct host1x_reloc *reloc = &job->relocs[i]; in pin_job() local 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() 287 struct host1x_reloc *reloc = &job->relocs[i]; in do_relocs() local 289 reloc->target.offset) >> reloc->shift; in do_relocs() 293 if (cmdbuf != reloc in do_relocs() 323 check_reloc(struct host1x_reloc * reloc,struct host1x_bo * cmdbuf,unsigned int offset) check_reloc() argument 343 struct host1x_reloc *reloc; global() member [all...] |
/linux/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_sub6.S | 18 .reloc sub6, R_RISCV_SET6, second 19 .reloc sub6, R_RISCV_SUB6, first
|
H A D | test_sub8.S | 18 .reloc sub8, R_RISCV_ADD8, second 19 .reloc sub8, R_RISCV_SUB8, first
|
H A D | test_sub32.S | 18 .reloc sub32, R_RISCV_ADD32, second 19 .reloc sub32, R_RISCV_SUB32, first
|
H A D | test_sub64.S | 22 .reloc sub64, R_RISCV_ADD64, second 23 .reloc sub64, R_RISCV_SUB64, first
|
/linux/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/arch/x86/boot/compressed/ |
H A D | misc.c | 201 int *reloc; in handle_relocations() local 252 for (reloc = output + output_len - sizeof(*reloc); *reloc; reloc--) { in handle_relocations() 253 long extended = *reloc; in handle_relocations() 263 for (reloc--; *reloc; reloc--) { in handle_relocations() 264 long extended = *reloc; in handle_relocations() [all...] |
/linux/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/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/fs/isofs/ |
H A D | rock.c | 315 struct inode *reloc; in parse_rock_ridge_inode_internal() local 526 reloc = isofs_iget_reloc(inode->i_sb, reloc_block, 0); in parse_rock_ridge_inode_internal() 527 if (IS_ERR(reloc)) { in parse_rock_ridge_inode_internal() 528 ret = PTR_ERR(reloc); in parse_rock_ridge_inode_internal() 531 inode->i_mode = reloc->i_mode; in parse_rock_ridge_inode_internal() 532 set_nlink(inode, reloc->i_nlink); in parse_rock_ridge_inode_internal() 533 inode->i_uid = reloc->i_uid; in parse_rock_ridge_inode_internal() 534 inode->i_gid = reloc->i_gid; in parse_rock_ridge_inode_internal() 535 inode->i_rdev = reloc->i_rdev; in parse_rock_ridge_inode_internal() 536 inode->i_size = reloc in parse_rock_ridge_inode_internal() [all...] |
/linux/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} 120 # In this case objdump was presenting us with a reloc to a symbol
|
/linux/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 71 # 5) Compile hyp-reloc.S and link it into the existing partially linked object. 76 $(obj)/kvm_nvhe.rel.o: $(obj)/kvm_nvhe.tmp.o $(obj)/hyp-reloc.o FORCE
|