Lines Matching refs:orc
16 static int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi,
21 memset(orc, 0, sizeof(*orc));
29 orc->type = ORC_TYPE_UNDEFINED;
35 orc->type = ORC_TYPE_UNDEFINED;
38 orc->type = ORC_TYPE_END_OF_STACK;
41 orc->type = ORC_TYPE_CALL;
44 orc->type = ORC_TYPE_REGS;
47 orc->type = ORC_TYPE_REGS_PARTIAL;
54 orc->signal = cfi->signal;
58 orc->sp_reg = ORC_REG_SP;
61 orc->sp_reg = ORC_REG_SP_INDIRECT;
64 orc->sp_reg = ORC_REG_BP;
67 orc->sp_reg = ORC_REG_BP_INDIRECT;
70 orc->sp_reg = ORC_REG_R10;
73 orc->sp_reg = ORC_REG_R13;
76 orc->sp_reg = ORC_REG_DI;
79 orc->sp_reg = ORC_REG_DX;
88 orc->bp_reg = ORC_REG_UNDEFINED;
91 orc->bp_reg = ORC_REG_PREV_SP;
94 orc->bp_reg = ORC_REG_BP;
101 orc->sp_offset = cfi->cfa.offset;
102 orc->bp_offset = bp->offset;
112 struct orc_entry *orc;
115 orc = (struct orc_entry *)orc_sec->data->d_buf + idx;
116 memcpy(orc, o, sizeof(*orc));
117 orc->sp_offset = bswap_if_needed(elf, orc->sp_offset);
118 orc->bp_offset = bswap_if_needed(elf, orc->bp_offset);
130 struct orc_entry orc;
135 static int orc_list_add(struct list_head *orc_list, struct orc_entry *orc,
145 entry->orc = *orc;
172 struct orc_entry orc, prev_orc = {0};
184 if (init_orc_entry(&orc, insn->cfi, insn))
186 if (!memcmp(&prev_orc, &orc, sizeof(orc)))
188 if (orc_list_add(&orc_list, &orc, sec,
192 prev_orc = orc;
209 if (init_orc_entry(&orc, cfi, insn))
211 if (!memcmp(&prev_orc, &orc, sizeof(orc)))
213 if (orc_list_add(&orc_list, &orc, insn->sec,
217 prev_orc = orc;
253 &entry->orc))