Lines Matching refs:fr
156 static bool is_valid_frame_record(struct frame_record *fr) in is_valid_frame_record() argument
158 return is_valid_object((uintptr_t)fr, sizeof(struct frame_record)); in is_valid_frame_record()
165 static struct frame_record *adjust_frame_record(struct frame_record *fr) in adjust_frame_record() argument
168 return fr; in adjust_frame_record()
170 return (struct frame_record *)((uintptr_t)fr - 4U); in adjust_frame_record()
174 static void unwind_stack(struct frame_record *fr, uintptr_t current_pc, in unwind_stack() argument
181 if (!is_valid_frame_record(fr)) { in unwind_stack()
183 fr); in unwind_stack()
187 call_site = extract_address(fr->return_addr); in unwind_stack()
190 fr); in unwind_stack()
203 if (!is_valid_frame_record(fr)) in unwind_stack()
211 call_site = extract_address(fr->return_addr) - 4U; in unwind_stack()
222 fr = adjust_frame_record(fr->parent); in unwind_stack()
254 struct frame_record *fr = __builtin_frame_address(0U); in backtrace() local
259 fr = adjust_frame_record(fr); in backtrace()
263 unwind_stack(fr, (uintptr_t)&backtrace, return_address); in backtrace()