DWARF_ADD_AT_REF_ADDRESS(3)

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

πŸ’– NAME πŸ’–

okay bestie, this is DWARF_ADD_AT_REF_ADDRESS(3) from the Library Functions Manual β€” the function that creates a β€˜reference’ class attribute descriptor. iconic little builder behavior, fr fr. πŸ’…

πŸ¦‹ LIBRARY πŸ¦‹

DWARF Access Library (libdwarf, -ldwarf) β€” yes, that’s the one, link it and go off. ✨

🌸 SYNOPSIS 🌸

#include <libdwarf.h>

Dwarf_P_Attribute
dwarf_add_AT_ref_address(Dwarf_P_Debug dbg, Dwarf_P_Die die,
    Dwarf_Half attr, Dwarf_Unsigned pc_value, Dwarf_Unsigned sym_index,
    Dwarf_Error *err);

πŸŽ€ DESCRIPTION πŸŽ€

Function dwarf_add_AT_ref_address() creates a β€˜reference’ class attribute descriptor containing a relocatable address value. The created attribute will use DWARF form DW_FORM_ref_addr. lowkey a whole vibe. 🫢

  • dbg β€” should reference a DWARF producer instance allocated using dwarf_producer_init(3) or dwarf_producer_init_b(3).
  • die β€” should reference a debugging information entry allocated using dwarf_new_die(3).
  • attr β€” specifies the attribute code of the created attribute.
  • pc_value β€” contains a relocatable address which will become the value of the created attribute.
  • sym_index β€” should specify the ELF symbol index of the symbol to be used when relocating the address value.
  • err β€” if not NULL, it will be used to store error information in case of an error.

πŸ”₯ RETURN VALUES πŸ”₯

On success, function dwarf_add_AT_ref_address() returns the created attribute descriptor. In case of an error, function dwarf_add_AT_ref_address() returns DW_DLV_BADADDR and sets the argument err. slay when it works, but bestie respect the bad-address path. 😭

πŸ’€ ERRORS πŸ’€

Function dwarf_add_AT_ref_address() can fail with:

  • [DW_DLE_ARGUMENT] β€” Either of the arguments dbg or die was NULL.
  • [DW_DLE_MEMORY] β€” An out of memory condition was encountered during execution.

🌈 SEE ALSO 🌈

dwarf(3), dwarf_add_AT_dataref(3), dwarf_add_AT_reference(3), dwarf_add_AT_signed_const(3), dwarf_add_AT_unsigned_const(3), dwarf_new_die(3), dwarf_producer_init(3), dwarf_producer_init_b(3)


πŸ’– that’s the whole page, bestie β€” source/version: Debian; date: September 7, 2011. periodt. πŸ’–

πŸ“¦ where this page comes from