/kernel/linux/linux-6.6/tools/objtool/include/objtool/ |
H A D | elf.h | 46 struct reloc *relocs; 71 struct reloc *relocs; 74 struct reloc { struct 78 struct reloc *sym_next_reloc; 117 struct reloc *elf_init_reloc_text_sym(struct elf *elf, struct section *sec, 123 struct reloc *elf_init_reloc_data_sym(struct elf *elf, struct section *sec, 141 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset); 142 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, 198 static inline unsigned int reloc_idx(struct reloc *reloc) in reloc_idx() argument 203 reloc_rel(struct reloc *reloc) reloc_rel() argument 210 is_32bit_reloc(struct reloc *reloc) is_32bit_reloc() argument 236 reloc_offset(struct reloc *reloc) reloc_offset() argument 241 set_reloc_offset(struct elf *elf, struct reloc *reloc, u64 offset) set_reloc_offset() argument 247 reloc_addend(struct reloc *reloc) reloc_addend() argument 252 set_reloc_addend(struct elf *elf, struct reloc *reloc, s64 addend) set_reloc_addend() argument 259 reloc_sym(struct reloc *reloc) reloc_sym() argument 268 reloc_type(struct reloc *reloc) reloc_type() argument 277 set_reloc_sym(struct elf *elf, struct reloc *reloc, unsigned int sym) set_reloc_sym() argument 287 set_reloc_type(struct elf *elf, struct reloc *reloc, unsigned int type) set_reloc_type() argument 345 reloc_hash(struct reloc *reloc) reloc_hash() argument [all...] |
/kernel/linux/linux-5.10/tools/objtool/ |
H A D | elf.c | 231 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, in find_reloc_by_dest_range() 234 struct reloc *reloc, *r = NULL; in find_reloc_by_dest_range() local 237 if (!sec->reloc) in find_reloc_by_dest_range() 240 sec = sec->reloc; in find_reloc_by_dest_range() 243 elf_hash_for_each_possible(elf->reloc_hash, reloc, hash, in find_reloc_by_dest_range() 245 if (reloc->sec != sec) in find_reloc_by_dest_range() 248 if (reloc->offset >= offset && reloc->offset < offset + len) { in find_reloc_by_dest_range() 249 if (!r || reloc in find_reloc_by_dest_range() 515 struct reloc *reloc; elf_add_reloc() local 551 struct reloc *reloc; elf_dirty_reloc_sym() local 784 read_rel_reloc(struct section *sec, int i, struct reloc *reloc, unsigned int *symndx) read_rel_reloc() argument 797 read_rela_reloc(struct section *sec, int i, struct reloc *reloc, unsigned int *symndx) read_rela_reloc() argument 813 struct reloc *reloc; read_relocs() local 1134 struct reloc *reloc; elf_rebuild_rel_reloc_section() local 1163 struct reloc *reloc; elf_rebuild_rela_reloc_section() local 1193 struct reloc *reloc; elf_rebuild_reloc_section() local 1226 elf_write_reloc(struct elf *elf, struct reloc *reloc) elf_write_reloc() argument 1301 struct reloc *reloc, *tmpreloc; elf_close() local [all...] |
H A D | check.c | 445 struct reloc *reloc; in add_dead_ends() local 463 list_for_each_entry(reloc, &sec->reloc_list, list) { in add_dead_ends() 464 if (reloc->sym->type != STT_SECTION) { in add_dead_ends() 468 insn = find_insn(file, reloc->sym->sec, reloc->addend); in add_dead_ends() 471 else if (reloc->addend == reloc->sym->sec->len) { in add_dead_ends() 472 insn = find_last_insn(file, reloc->sym->sec); in add_dead_ends() 475 reloc in add_dead_ends() 715 struct reloc *reloc; add_ignores() local 924 struct reloc *reloc; add_ignore_alternatives() local 1008 struct reloc *reloc = insn_reloc(file, insn); annotate_call_site() local 1138 struct reloc *reloc; add_jump_destinations() local 1259 struct reloc *reloc; add_call_destinations() local 1555 struct reloc *reloc = table; add_jump_table() local 1659 struct reloc *reloc; mark_func_jump_tables() local 1751 struct reloc *reloc; read_unwind_hints() local 1840 struct reloc *reloc; read_retpoline_hints() local 1877 struct reloc *reloc; read_instr_hints() local 1924 struct reloc *reloc; read_intra_function_calls() local [all...] |
H A D | elf.h | 36 struct section *base, *reloc; member 67 struct reloc { struct 123 static inline u32 reloc_hash(struct reloc *reloc) in reloc_hash() argument 125 return sec_offset_hash(reloc->sec, reloc->offset); in reloc_hash() 140 int elf_write_reloc(struct elf *elf, struct reloc *reloc); 149 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset); 150 struct reloc *find_reloc_by_dest_rang [all...] |
H A D | special.c | 58 static void reloc_to_sec_off(struct reloc *reloc, struct section **sec, in reloc_to_sec_off() argument 61 *sec = reloc->sym->sec; in reloc_to_sec_off() 62 *off = reloc->sym->offset + reloc->addend; in reloc_to_sec_off() 69 struct reloc *orig_reloc, *new_reloc; in get_alt_entry() 94 WARN_FUNC("can't find orig reloc", sec, offset + entry->orig); in get_alt_entry() 103 WARN_FUNC("can't find new reloc", in get_alt_entry()
|
/kernel/linux/linux-6.6/tools/objtool/ |
H A D | check.c | 143 static inline struct reloc *insn_jump_table(struct instruction *insn) in insn_jump_table() 496 struct reloc *reloc; in add_pv_ops() local 506 reloc = find_reloc_by_dest_range(file->elf, sym->sec, off, end - off); in add_pv_ops() 507 if (!reloc) in add_pv_ops() 510 func = reloc->sym; in add_pv_ops() 512 func = find_symbol_by_offset(reloc->sym->sec, in add_pv_ops() 513 reloc_addend(reloc)); in add_pv_ops() 515 idx = (reloc_offset(reloc) - sym->offset) / sizeof(unsigned long); in add_pv_ops() 519 off = reloc_offset(reloc) in add_pv_ops() 585 struct reloc *reloc; add_dead_ends() local 964 struct reloc *reloc; create_mcount_loc_sections() local 1026 struct reloc *reloc; add_ignores() local 1266 struct reloc *reloc; add_ignore_alternatives() local 1320 struct reloc *reloc; insn_reloc() local 1352 struct reloc *reloc = insn_reloc(file, insn); annotate_call_site() local 1547 struct reloc *reloc; add_jump_destinations() local 1675 struct reloc *reloc; add_call_destinations() local 1888 struct reloc *reloc = insn_reloc(file, orig_insn); handle_jump_alt() local 2009 struct reloc *reloc = table; add_jump_table() local 2110 struct reloc *reloc; mark_func_jump_tables() local 2210 struct reloc *reloc; read_unwind_hints() local 2299 struct reloc *reloc; read_noendbr_hints() local 2323 struct reloc *reloc; read_retpoline_hints() local 2359 struct reloc *reloc; read_instr_hints() local 2406 struct reloc *reloc; read_validate_unret_hints() local 2434 struct reloc *reloc; read_intra_function_calls() local 3353 struct reloc *reloc; call_dest_name() local 3372 struct reloc *reloc; pv_call_dest() local 4297 struct reloc *reloc; validate_ibt_insn() local 4389 validate_ibt_data_reloc(struct objtool_file *file, struct reloc *reloc) validate_ibt_data_reloc() argument 4422 struct reloc *reloc; validate_ibt() local [all...] |
H A D | elf.c | 268 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, in find_reloc_by_dest_range() 271 struct reloc *reloc, *r = NULL; in find_reloc_by_dest_range() local 280 elf_hash_for_each_possible(reloc, reloc, hash, in find_reloc_by_dest_range() 282 if (reloc->sec != rsec) in find_reloc_by_dest_range() 285 if (reloc_offset(reloc) >= offset && in find_reloc_by_dest_range() 286 reloc_offset(reloc) < offset + len) { in find_reloc_by_dest_range() 287 if (!r || reloc_offset(reloc) < reloc_offset(r)) in find_reloc_by_dest_range() 288 r = reloc; in find_reloc_by_dest_range() 581 struct reloc *reloc; elf_update_sym_relocs() local 855 struct reloc *reloc, empty = { 0 }; elf_init_reloc() local 939 struct reloc *reloc; read_relocs() 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() 99 WARN_FUNC("can't find orig reloc", sec, offset + entry->orig); in get_alt_entry() 108 WARN_FUNC("can't find new reloc", in get_alt_entry() 121 struct reloc *key_reloc; in get_alt_entry() 125 WARN_FUNC("can't find key reloc", in get_alt_entry() [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
H A D | r600_cs.c | 811 * RELOC (P3) - crtc_id in reloc. 911 DRM_ERROR("unknown crtc reloc\n"); in r600_cs_common_vline_parse() 927 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r600_packet0_check() 970 struct radeon_bo_list *reloc; in r600_cs_check_reg() local 1015 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r600_cs_check_reg() 1021 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in r600_cs_check_reg() 1033 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg() 1042 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in r600_cs_check_reg() 1075 r = radeon_cs_packet_next_reloc(p, &reloc, r600_nomm); in r600_cs_check_reg() 1083 ib[idx] += (u32)((reloc in r600_cs_check_reg() 1627 struct radeon_bo_list *reloc; r600_packet3_check() local [all...] |
H A D | evergreen_cs.c | 1058 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in evergreen_packet0_check() 1097 struct radeon_bo_list *reloc; in evergreen_cs_handle_reg() local 1143 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg() 1149 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg() 1172 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg() 1180 ib[idx] |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg() 1181 track->db_z_info |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg() 1182 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in evergreen_cs_handle_reg() 1185 evergreen_tiling_fields(reloc->tiling_flags, in evergreen_cs_handle_reg() 1214 r = radeon_cs_packet_next_reloc(p, &reloc, in evergreen_cs_handle_reg() 1775 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 | 635 struct radeon_bo_list *reloc; in r300_packet0_check() local 652 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 669 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 671 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 676 track->cb[i].robj = reloc->robj; in r300_packet0_check() 679 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check() 682 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 684 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 689 track->zb.robj = reloc->robj; in r300_packet0_check() 692 ib[idx] = idx_value + ((u32)reloc in r300_packet0_check() 1179 struct radeon_bo_list *reloc; r300_packet3_check() local [all...] |
/kernel/linux/linux-6.6/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 | 1057 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in evergreen_packet0_check() 1096 struct radeon_bo_list *reloc; in evergreen_cs_handle_reg() local 1142 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg() 1148 ib[idx] += (u32)((reloc->gpu_offset >> 8) & 0xffffffff); in evergreen_cs_handle_reg() 1171 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in evergreen_cs_handle_reg() 1179 ib[idx] |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg() 1180 track->db_z_info |= Z_ARRAY_MODE(evergreen_cs_get_aray_mode(reloc->tiling_flags)); in evergreen_cs_handle_reg() 1181 if (reloc->tiling_flags & RADEON_TILING_MACRO) { in evergreen_cs_handle_reg() 1184 evergreen_tiling_fields(reloc->tiling_flags, in evergreen_cs_handle_reg() 1213 r = radeon_cs_packet_next_reloc(p, &reloc, in evergreen_cs_handle_reg() 1774 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 | 629 struct radeon_bo_list *reloc; in r300_packet0_check() local 646 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 663 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 665 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 670 track->cb[i].robj = reloc->robj; in r300_packet0_check() 673 ib[idx] = idx_value + ((u32)reloc->gpu_offset); in r300_packet0_check() 676 r = radeon_cs_packet_next_reloc(p, &reloc, 0); in r300_packet0_check() 678 DRM_ERROR("No reloc for ib[%d]=0x%04X\n", in r300_packet0_check() 683 track->zb.robj = reloc->robj; in r300_packet0_check() 686 ib[idx] = idx_value + ((u32)reloc in r300_packet0_check() 1174 struct radeon_bo_list *reloc; r300_packet3_check() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/host1x/ |
H A D | job.c | 117 struct host1x_reloc *reloc = &job->relocs[i]; in pin_job() local 121 reloc->target.bo = host1x_bo_get(reloc->target.bo); in pin_job() 122 if (!reloc->target.bo) { in pin_job() 144 sgt = host1x_bo_pin(dev, reloc->target.bo, phys); in pin_job() 155 switch (reloc->flags & mask) { in pin_job() 183 job->unpins[job->num_unpins].bo = reloc->target.bo; in pin_job() 287 struct host1x_reloc *reloc = &job->relocs[i]; in do_relocs() local 289 reloc->target.offset) >> 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...] |
/kernel/linux/linux-5.10/arch/x86/boot/compressed/ |
H A D | misc.c | 179 int *reloc; in handle_relocations() local 232 for (reloc = output + output_len - sizeof(*reloc); *reloc; reloc--) { in handle_relocations() 233 long extended = *reloc; in handle_relocations() 243 while (*--reloc) { in handle_relocations() 244 long extended = *reloc; in handle_relocations() 253 for (reloc--; *reloc; relo in handle_relocations() [all...] |
/kernel/linux/linux-6.6/arch/x86/boot/compressed/ |
H A D | misc.c | 188 int *reloc; in handle_relocations() local 241 for (reloc = output + output_len - sizeof(*reloc); *reloc; reloc--) { in handle_relocations() 242 long extended = *reloc; in handle_relocations() 252 while (*--reloc) { in handle_relocations() 253 long extended = *reloc; in handle_relocations() 262 for (reloc--; *reloc; relo in handle_relocations() [all...] |
/kernel/linux/linux-6.6/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...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/gem/selftests/ |
H A D | i915_gem_execbuffer.c | 13 u64 reloc; in read_reloc() local 15 memcpy(&reloc, &map[x], sizeof(reloc)); in read_reloc() 16 return reloc & mask; in read_reloc() 83 u64 reloc = read_reloc(map, offsets[i], mask); in __igt_gpu_reloc() local 85 if (reloc != i) { in __igt_gpu_reloc() 87 eb->engine->name, i, offsets[i], reloc, i); in __igt_gpu_reloc()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/qxl/ |
H A D | qxl_ioctl.c | 205 /* fill out reloc info structs */ in qxl_process_single_command() 208 struct drm_qxl_reloc reloc; in qxl_process_single_command() local 211 if (copy_from_user(&reloc, u + i, sizeof(reloc))) { in qxl_process_single_command() 218 if (reloc.reloc_type != QXL_RELOC_TYPE_BO && reloc.reloc_type != QXL_RELOC_TYPE_SURF) { in qxl_process_single_command() 219 DRM_DEBUG("unknown reloc type %d\n", reloc.reloc_type); in qxl_process_single_command() 224 reloc_info[i].type = reloc.reloc_type; in qxl_process_single_command() 226 if (reloc in qxl_process_single_command() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/qxl/ |
H A D | qxl_ioctl.c | 202 /* fill out reloc info structs */ in qxl_process_single_command() 205 struct drm_qxl_reloc reloc; in qxl_process_single_command() local 208 if (copy_from_user(&reloc, u + i, sizeof(reloc))) { in qxl_process_single_command() 215 if (reloc.reloc_type != QXL_RELOC_TYPE_BO && reloc.reloc_type != QXL_RELOC_TYPE_SURF) { in qxl_process_single_command() 216 DRM_DEBUG("unknown reloc type %d\n", reloc.reloc_type); in qxl_process_single_command() 221 reloc_info[i].type = reloc.reloc_type; in qxl_process_single_command() 223 if (reloc in qxl_process_single_command() [all...] |
/kernel/linux/linux-5.10/tools/objtool/arch/x86/ |
H A D | special.c | 43 struct reloc *reloc) in arch_support_alt_relocation() 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() 41 arch_support_alt_relocation(struct special_alt *special_alt, struct instruction *insn, struct reloc *reloc) arch_support_alt_relocation() argument
|
/kernel/linux/linux-6.6/tools/objtool/arch/x86/ |
H A D | special.c | 43 struct reloc *reloc) in arch_support_alt_relocation() 88 struct reloc *arch_find_switch_table(struct objtool_file *file, in arch_find_switch_table() 91 struct reloc *text_reloc, *rodata_reloc; in arch_find_switch_table() 41 arch_support_alt_relocation(struct special_alt *special_alt, struct instruction *insn, struct reloc *reloc) arch_support_alt_relocation() argument
|