Lines Matching full:frame

112 	 * The size of this frame if 0 < size < U32_MAX, 0 terminates the list.
117 * The first frame is a Common Information Entry (CIE) frame, followed
118 * by one or more Frame Description Entry (FDE) frames. In the former
120 * to the associated CIE frame.
149 static int scs_handle_fde_frame(const struct eh_frame *frame, in scs_handle_fde_frame() argument
154 int size = frame->size - offsetof(struct eh_frame, opcodes) + 4; in scs_handle_fde_frame()
155 u64 loc = (u64)offset_to_ptr(&frame->initial_loc); in scs_handle_fde_frame()
156 const u8 *opcode = frame->opcodes; in scs_handle_fde_frame()
160 loc = (u64)&frame->initial_loc64 + frame->initial_loc64; in scs_handle_fde_frame()
161 opcode = frame->opcodes64; in scs_handle_fde_frame()
235 const struct eh_frame *frame = (const void *)p; in scs_patch() local
238 if (frame->size == 0 || in scs_patch()
239 frame->size == U32_MAX || in scs_patch()
240 frame->size > size) in scs_patch()
243 if (frame->cie_id_or_pointer == 0) { in scs_patch()
249 if (strcmp(frame->augmentation_string, "zR")) in scs_patch()
260 if ((frame->code_alignment_factor & BIT(7)) || in scs_patch()
261 (frame->data_alignment_factor & BIT(7)) || in scs_patch()
262 frame->return_address_register != 30 || in scs_patch()
263 frame->augmentation_data_size != 1) in scs_patch()
266 code_alignment_factor = frame->code_alignment_factor; in scs_patch()
268 switch (frame->fde_pointer_format) { in scs_patch()
279 ret = scs_handle_fde_frame(frame, code_alignment_factor, in scs_patch()
283 scs_handle_fde_frame(frame, code_alignment_factor, in scs_patch()
287 p += sizeof(frame->size) + frame->size; in scs_patch()
288 size -= sizeof(frame->size) + frame->size; in scs_patch()