DWARF_DIEOFFSET(3)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1, nixpkgs unstable

πŸ’– DWARF_DIEOFFSET(3) πŸ’–

okay bestie, welcome to the Library Functions Manual page for DWARF_DIEOFFSET(3) β€” yes, the whole girliepop gang of libdwarf functions that return offsets for DWARF debugging information entries. slay. πŸ’…


✨ NAME ✨

The squad is:

  • dwarf_die_CU_offset
  • dwarf_die_CU_offset_range
  • dwarf_dieoffset
  • dwarf_get_cu_die_offset_given_cu_header_offset
  • dwarf_get_cu_die_offset_given_cu_header_offset_b

and their whole thing is returning offsets of DWARF debugging information entries. no cap. πŸŽ€

πŸ¦‹ LIBRARY πŸ¦‹

This lives in the DWARF Access Library β€” libdwarf, -ldwarf. iconique. ✨

🌸 SYNOPSIS 🌸

#include <libdwarf.h>

int
dwarf_die_CU_offset(Dwarf_Die die, Dwarf_Off *ret_offset,
    Dwarf_Error *err);

int
dwarf_die_CU_offset_range(Dwarf_Die die, Dwarf_Off *cu_offset,
    Dwarf_Off *cu_length, Dwarf_Error *err);

int
dwarf_dieoffset(Dwarf_Die die, Dwarf_Off *ret_offset, Dwarf_Error *err);

int
dwarf_get_cu_die_offset_given_cu_header_offset(Dwarf_Debug dbg,
    Dwarf_Off in_cu_header_offset, Dwarf_Off *out_cu_die_offset,
    Dwarf_Error *err);

int
dwarf_get_cu_die_offset_given_cu_header_offset_b(Dwarf_Debug dbg,
    Dwarf_Off in_cu_header_offset, Dwarf_Bool is_info,
    Dwarf_Off *out_cu_die_offset, Dwarf_Error *err);

πŸ’œ DESCRIPTION πŸ’œ

okay so the whole vibe: these functions are used to retrieve offsets for DWARF debugging information entries. that's the assignment, and they ate. πŸ”₯

  • dwarf_die_CU_offset() β€” returns the offset of the debugging information entry referenced by argument die relative to the start of its containing compilation unit. Argument ret_offset should point to the location that is to hold the returned offset. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. 🫢
  • dwarf_die_CU_offset_range() β€” returns the section-relative offset and length of the compilation unit containing the debugging information entry referenced by argument die. Argument cu_offset should point to a location that will hold the returned offset. Argument cu_length should point to a location that will hold the returned length of the compilation unit. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. 🌈
  • dwarf_dieoffset() β€” retrieves the section-relative offset of the debugging information entry referenced by argument die. Argument ret_offset should point to a location that is to hold the returned section-relative offset. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. πŸ’«
  • dwarf_get_cu_die_offset_given_cu_header_offset() β€” returns the offset for the first debugging information entry for a compilation unit, given an offset to the header of the compilation unit. Argument dbg should reference a valid debugging context allocated using dwarf_init(3). Argument in_cu_header_offset contains the offset to the start of a compilation unit. Argument out_cu_die_offset points to a location that will hold the returned offset. If argument err is non-NULL, it will be used to return an error descriptor in case of an error. πŸŽ€
  • dwarf_get_cu_die_offset_given_cu_header_offset_b() β€” behaves identically to the function dwarf_get_cu_die_offset_given_cu_header_offset() when the argument is_info is non-zero. When the argument is_info is zero, function dwarf_get_cu_die_offset_given_cu_header_offset_b() returns the offset for the first debugging information entry for a type unit, given an offset to the header of the type unit in argument in_cu_header_offset. Argument out_cu_die_offset points to a location that will hold the returned offset. If the argument err is non-NULL, it will be used to return an error descriptor in case of an error. πŸ¦‹

πŸ‘‘ RETURN VALUES πŸ‘‘

On success, these functions return DW_DLV_OK. In case of an error, these functions return DW_DLV_ERROR and set argument err. periodt. πŸ’…

Function dwarf_get_cu_die_offset_given_cu_header_offset() and dwarf_get_cu_die_offset_given_cu_header_offset_b() returns DW_DLV_NO_ENTRY and sets argument err if there is no compilation or type unit located at the offset specified in argument in_cu_header_offset. not me getting emotional about a missing unit 😭

πŸ’€ ERRORS πŸ’€

These functions may fail with the following errors:

  • [DW_DLE_ARGUMENT] β€” One of the arguments cu_length, cu_offset, dbg, die, out_cu_die_offset or ret_offset was NULL.
  • [DW_DLE_NO_ENTRY] β€” Argument in_cu_header_offset specified an unknown offset.

🌟 SEE ALSO 🌟


mwah πŸ’‹ this cutie pie page is from the Debian edition, dated December 21, 2014, for DWARF_DIEOFFSET(3) β€” go read the source, bestie, iykyk. πŸ“

πŸ“¦ where this page comes from