DWARF_GET_ARANGE(3) Library Functions Manual DWARF_GET_ARANGE(3)

dwarf_get_arange
retrieve the address range descriptor for an address

DWARF Access Library (libdwarf, -ldwarf)

#include <libdwarf.h>

int
dwarf_get_arange(Dwarf_Arange *ar_list, Dwarf_Unsigned ar_cnt, Dwarf_Addr addr, Dwarf_Arange *ret_ar, Dwarf_Error *err);

Function dwarf_get_arange() searches an array of Dwarf_Arange descriptors for one that covers a given address.

Argument ar_list should point to an array of Dwarf_Arange descriptors.

Argument ar_cnt specifies the number of Dwarf_Arange descriptors in the array pointed to by argument ar_list.

Argument addr specifies the address being looked up.

Argument ret_ar will be used to store the Dwarf_Arange descriptor that covers the given address.

If argument err is not NULL, it will be used to store error information in case of an error.

Function dwarf_get_arange() returns DW_DLV_OK when it succeeds. It returns DW_DLV_NO_ENTRY if there is no Dwarf_Arange descriptor that covers the provided address. In case of an error, it returns DW_DLV_ERROR and sets the argument err.

Function dwarf_get_arange() can fail with:
[]
One of the arguments dbg, ar_list or ret_ar was NULL.
[]
Value of argument ar_cnt equals to 0.
[]
A Dwarf_Arange descriptor that covers the given address was not found.

dwarf(3), dwarf_get_aranges(3), dwarf_get_arange_cu_header_offset(3), dwarf_get_arange_info(3), dwarf_get_cu_die_offset(3)
April 16, 2011 NetBSD 9.0