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:
-
-
- [
DW_DLE_ARGUMENT
]
- One of the arguments dbg,
ar_list or
ret_ar was NULL.
-
-
- [
DW_DLE_ARGUMENT
]
- Value of argument ar_cnt
equals to 0.
-
-
- [
DW_DLE_NO_ENTRY
]
- A Dwarf_Arange descriptor
that covers the given address was not found.
dwarf(3),
dwarf_get_arange_cu_header_offset(3),
dwarf_get_arange_info(3),
dwarf_get_aranges(3),
dwarf_get_cu_die_offset(3)