| /linux-6.15/tools/objtool/arch/x86/ |
| H A D | orc.c | 14 memset(orc, 0, sizeof(*orc)); in init_orc_entry() 34 orc->type = ORC_TYPE_CALL; in init_orc_entry() 47 orc->signal = cfi->signal; in init_orc_entry() 51 orc->sp_reg = ORC_REG_SP; in init_orc_entry() 57 orc->sp_reg = ORC_REG_BP; in init_orc_entry() 105 struct orc_entry *orc; in write_orc_entry() local 109 memcpy(orc, o, sizeof(*orc)); in write_orc_entry() 110 orc->sp_offset = bswap_if_needed(elf, orc->sp_offset); in write_orc_entry() 111 orc->bp_offset = bswap_if_needed(elf, orc->bp_offset); in write_orc_entry() 182 print_reg(orc[i].sp_reg, bswap_if_needed(dummy_elf, orc[i].sp_offset)); in orc_print_dump() [all …]
|
| H A D | Build | 3 objtool-y += orc.o
|
| /linux-6.15/tools/objtool/arch/loongarch/ |
| H A D | orc.c | 15 memset(orc, 0, sizeof(*orc)); in init_orc_entry() 48 orc->signal = cfi->signal; in init_orc_entry() 52 orc->sp_reg = ORC_REG_SP; in init_orc_entry() 55 orc->sp_reg = ORC_REG_FP; in init_orc_entry() 65 orc->fp_offset = 0; in init_orc_entry() 82 orc->ra_offset = 0; in init_orc_entry() 106 struct orc_entry *orc; in write_orc_entry() local 110 memcpy(orc, o, sizeof(*orc)); in write_orc_entry() 162 print_reg(orc[i].sp_reg, orc[i].sp_offset); in orc_print_dump() 165 print_reg(orc[i].fp_reg, orc[i].fp_offset); in orc_print_dump() [all …]
|
| H A D | Build | 3 objtool-y += orc.o
|
| /linux-6.15/tools/objtool/ |
| H A D | orc_gen.c | 19 struct orc_entry orc; member 34 entry->orc = *orc; in orc_list_add() 61 struct orc_entry orc, prev_orc = {0}; in orc_create() local 73 if (init_orc_entry(&orc, insn->cfi, insn)) in orc_create() 75 if (!memcmp(&prev_orc, &orc, sizeof(orc))) in orc_create() 77 if (orc_list_add(&orc_list, &orc, sec, in orc_create() 81 prev_orc = orc; in orc_create() 98 if (init_orc_entry(&orc, cfi, insn)) in orc_create() 100 if (!memcmp(&prev_orc, &orc, sizeof(orc))) in orc_create() 106 prev_orc = orc; in orc_create() [all …]
|
| H A D | orc_dump.c | 16 struct orc_entry *orc = NULL; in orc_dump() local 88 orc = data->d_buf; in orc_dump() 98 if (!symtab || !strtab_idx || !orc || !orc_ip) in orc_dump() 101 if (orc_size % sizeof(*orc) != 0) { in orc_dump() 106 nr_entries = orc_size / sizeof(*orc); in orc_dump() 150 orc_print_dump(&dummy_elf, orc, i); in orc_dump()
|
| H A D | builtin-check.c | 80 OPT_BOOLEAN(0, "orc", &opts.orc, "generate ORC metadata"), 166 opts.orc || in opts_valid()
|
| /linux-6.15/arch/loongarch/kernel/ |
| H A D | unwind_orc.c | 190 if (orc) in orc_find() 191 return orc; in orc_find() 260 cur_orc_table = orc; in unwind_module_init() 276 struct orc_entry *orc; in unwind_init() local 296 if (!orc) { in unwind_init() 306 if (!orc) { in unwind_init() 395 struct orc_entry *orc; in unwind_next_frame() local 408 if (!orc) { in unwind_next_frame() 415 orc = &orc_fp_entry; in unwind_next_frame() 425 switch (orc->sp_reg) { in unwind_next_frame() [all …]
|
| H A D | module.c | 514 const Elf_Shdr *s, *alt = NULL, *orc = NULL, *orc_ip = NULL, *ftrace = NULL; in module_finalize() local 520 orc = s; in module_finalize() 530 if (orc && orc_ip) in module_finalize() 531 …unwind_module_init(mod, (void *)orc_ip->sh_addr, orc_ip->sh_size, (void *)orc->sh_addr, orc->sh_si… in module_finalize()
|
| /linux-6.15/arch/x86/kernel/ |
| H A D | unwind_orc.c | 238 if (orc) in orc_find() 239 return orc; in orc_find() 307 cur_orc_table = orc; in unwind_module_init() 322 struct orc_entry *orc; in unwind_init() local 344 if (!orc) { in unwind_init() 355 if (!orc) { in unwind_init() 472 struct orc_entry *orc; in unwind_next_frame() local 495 if (!orc) { in unwind_next_frame() 502 orc = &orc_fp_entry; in unwind_next_frame() 515 switch (orc->sp_reg) { in unwind_next_frame() [all …]
|
| H A D | module.c | 243 *orc = NULL, *orc_ip = NULL, in module_finalize() local 254 orc = s; in module_finalize() 324 if (orc && orc_ip) in module_finalize() 326 (void *)orc->sh_addr, orc->sh_size); in module_finalize()
|
| /linux-6.15/arch/powerpc/lib/ |
| H A D | strlen_32.S | 61 orc r9, r9, r6 72 orc r8, r8, r8 76 orc r9, r9, r8
|
| /linux-6.15/tools/testing/selftests/powerpc/stringloops/ |
| H A D | strlen_32.S | 61 orc r9, r9, r6 72 orc r8, r8, r8 76 orc r9, r9, r8
|
| /linux-6.15/tools/objtool/include/objtool/ |
| H A D | orc.h | 7 int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi, struct instruction *insn); 8 void orc_print_dump(struct elf *dummy_elf, struct orc_entry *orc, int i);
|
| H A D | builtin.h | 19 bool orc; member
|
| /linux-6.15/arch/riscv/lib/ |
| H A D | strlen.S | 83 orc.b t1, t1 113 orc.b t1, t1
|
| H A D | strncmp.S | 84 orc.b t3, t0 86 orc.b t3, t1
|
| H A D | strcmp.S | 75 orc.b t3, t0
|
| /linux-6.15/arch/loongarch/include/asm/ |
| H A D | unwind.h | 92 void unwind_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc… 95 …nd_module_init(struct module *mod, void *orc_ip, size_t orc_ip_size, void *orc, size_t orc_size) {} in unwind_module_init() argument
|
| /linux-6.15/arch/x86/include/asm/ |
| H A D | unwind.h | 98 void *orc, size_t orc_size); 103 void *orc, size_t orc_size) {} in unwind_module_init()
|
| /linux-6.15/arch/um/include/asm/ |
| H A D | unwind.h | 6 void *orc, size_t orc_size) {} in unwind_module_init()
|
| /linux-6.15/Documentation/arch/x86/ |
| H A D | index.rst | 19 orc-unwinder
|
| /linux-6.15/arch/s390/include/asm/ |
| H A D | unwind.h | 95 size_t orc_ip_size, void *orc, in unwind_module_init()
|
| /linux-6.15/arch/s390/kvm/ |
| H A D | priv.c | 1187 static inline int __do_essa(struct kvm_vcpu *vcpu, const int orc) in __do_essa() argument 1206 nappended = pgste_perform_essa(vcpu->kvm->mm, hva, orc, &ptev, &pgstev); in __do_essa() 1208 res = orc ? 0x10 : 0; in __do_essa() 1238 if (orc) { in __do_essa() 1255 int i, orc; in handle_essa() local 1266 orc = (vcpu->arch.sie_block->ipb & 0xf0000000) >> 28; in handle_essa() 1268 if (orc > (test_kvm_facility(vcpu->kvm, 147) ? ESSA_SET_STABLE_NODAT in handle_essa() 1304 i = __do_essa(vcpu, orc); in handle_essa()
|
| /linux-6.15/arch/powerpc/crypto/ |
| H A D | md5-asm.S | 124 orc rT0,b,d; /* 1: f = b or ~d */ \ 133 orc rT0,a,c; /* 2: f = b or ~d */ \
|