cu_walk_functions_at(9)
π cu_walk_functions_at β from the Kernel API Manual (section 9)
okay so bestie, welcome to the dwarf-walking corner of the kernel, this one lives in the Kernel API Manual and it's lowkey a little tour guide for function DIEs β¨
πΈ NAME πΈ
cu_walk_functions_at β walk on function DIEs at given address πΆββοΈπ
β¨ SYNOPSIS β¨
int cu_walk_functions_at (Dwarf_Die *cu_die , Dwarf_Addr addr , int
(*callback)(Dwarf_Die *, void *) , void *data );
π ARGUMENTS π
cu_dieβ a CU DIE. that's the compile-unit DIE you're strolling through, she's the main character of this whole operation πaddrβ an address. the spot you're checking out πΊοΈcallbackβ a callback which is called with the found DIEs. she gets handed each DIE that turns up, so be nice to her π«Άdataβ a user data. your own little bag of stuff that rides along and gets passed through π
π¦ DESCRIPTION π¦
Walk on function DIEs at given addr in cu_die. no cap, that's the whole bit: you give it a compile-unit DIE and an address, and it goes walking through the function DIEs sitting at that address.
The DIEs that get passed along should be subprogram or inlined-subroutines. like, that's the vibe check for what shows up β those are the kinds of DIEs you're going to meet on this walk π§ββοΈ
π SEE ALSO π
the kernel file ./tools/perf/util/dwarf-aux.c, plus the whole friend group of dwarf helpers β fr fr, go say hi to all of them:
cu_find_realpath(9)cu_get_comp_dir(9)cu_find_lineinfo(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_cfa(9)die_get_scopes(9)die_get_member_type(9)die_deref_ptr_type(9)
kk that's the whole page, mwah π β this cutie came out of ./tools/perf/util, dated October 2026, and she ate, no notes β¨ππ¦
π¦ 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