die_get_cfa(9)
die_get_cfa(9) π
okay so bestie, welcome to die_get_cfa(9) from the Kernel API Manual. this page is all about getting frame base information, and honestly? it ate. π
π NAME π
die_get_cfa β Get frame base information
β¨ SYNOPSIS β¨
int die_get_cfa (Dwarf *dwarf , u64 pc , int *preg , int *poffset );
πΈ ARGUMENTS πΈ
dwarfβ a Dwarf infopcβ program addresspregβ pointer for saved registerpoffsetβ pointer for saved offset
π¦ DESCRIPTION π¦
okay so here's the vibe: die_get_cfa gets the register and offset for the CFA (Canonical Frame Address) by searching the CIE/FDE info. the CFA usually points to the start address of the current stack frame, and local variables can be located using an offset from the CFA. if it returns 0, then preg and poffset will be updated β periodt. π
π SEE ALSO π
Kernel file ./tools/perf/util/dwarf-aux.c says hi, and here's the whole squad:
cu_find_realpath(9)cu_get_comp_dir(9)cu_find_lineinfo(9)cu_walk_functions_at(9)die_get_linkage_name(9)die_compare_name(9)die_match_name(9)die_get_call_lineno(9)die_get_type(9)die_get_real_type(9)die_get_pointer_type(9)die_is_signed_type(9)die_is_func_def(9)die_entrypc(9)die_is_func_instance(9)die_get_data_member_location(9)die_get_call_file(9)die_get_decl_file(9)die_find_child(9)die_find_tailfunc(9)die_find_realfunc(9)die_find_top_inlinefunc(9)die_find_inlinefunc(9)die_find_func_rettype(9)die_walk_instances(9)die_walk_lines(9)die_find_variable_at(9)die_find_member(9)die_get_typename_from_type(9)die_get_typename(9)die_get_varname(9)die_get_var_innermost_scope(9)die_get_var_range(9)is_breg_access_indirect(9)die_find_variable_by_reg(9)die_find_variable_by_addr(9)die_collect_vars(9)die_collect_global_vars(9)die_get_scopes(9)die_get_member_type(9)die_deref_ptr_type(9)
mwah π β source/version: ./tools/perf/util Β· date: October 2026
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms