die_walk_lines(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… die_walk_lines(9) β€” Kernel API Manual, but make it a group chat ✨

okay so welcome to the die_walk_lines(9) page bestie, we're in the Kernel API Manual and this one is literally about walking lines inside a DIE. no cap, it's giving debug-info main character energy 🧚


🌸 NAME 🌸

die_walk_lines β€” Walk on lines inside given DIE πŸ’–


✨ SYNOPSIS ✨

int die_walk_lines (Dwarf_Die *rt_die , line_walk_callback_t callback ,
       void *data );

πŸŽ€ ARGUMENTS πŸŽ€

  • rt_die β€” a root DIE (CU, subprogram or inlined_subroutine). yes bestie, those are the options πŸ‘‘
  • callback β€” callback routine. it's the function that gets called, periodt.
  • data β€” user data. your lil payload, your business 🫢

πŸ¦‹ DESCRIPTION πŸ¦‹

Walk on all lines inside given rt_die and call callback on each line. that's the whole vibe: you give it a root DIE, it goes line by line, and every line gets a callback moment ✨

If the rt_die is a function, walk only on the lines inside the function, otherwise rt_die must be a CU DIE. so like β€” function DIE? stay in your lane, walk only inside the function. not a function? then it better be a CU DIE, no exceptions bestie πŸ’…

Note that this walks not only dwarf line list, but also function entries and inline call-site. so it's not just the dwarf line list, it's also pulling up to function entries and inline call-site too. highkey thorough πŸ”₯

lowkey important: if rt_die isn't a function, it has to be a CU DIE. that's the rule, don't come for me 😭

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./tools/perf/util/dwarf-aux.c β€” and the whole squad is here: 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_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). literally the entire friend group, go say hi πŸ’–


Source/version: ./tools/perf/util Β· Date: October 2026 β€” byeee bestie, go walk those lines and slay πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from