DWARF_ADD_AT_STRING(3)

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

πŸ’– DWARF_ADD_AT_STRING(3) πŸ’–

okay so bestie, welcome to the DWARF_ADD_AT_STRING(3) page from the Library Functions Manual β€” it’s giving β€œtiny function, very important string attribute energy” and we’re gonna get through it together, fr fr. 🫢


✨ NAME ✨

dwarf_add_AT_string β€” create and attach a string class attribute. slay. πŸŽ€

🌸 LIBRARY 🌸

DWARF Access Library (libdwarf, -ldwarf) β€” yes, that’s the one, no cap. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <libdwarf.h>

Dwarf_P_Attribute
dwarf_add_AT_string(Dwarf_P_Debug dbg, Dwarf_P_Die die, Dwarf_Half attr,
    char *str, Dwarf_Error *err);

πŸ’œ DESCRIPTION πŸ’œ

Okay so here’s the vibe: dwarf_add_AT_string() creates an attribute descriptor that belongs to the β€˜string’ class, and attaches it to the debugging information entry referenced by the die argument. ✨ The created attribute descriptor will have DWARF form DW_FORM_strp β€” periodt. πŸ’…

Here’s the bestie breakdown of the arguments:

  • 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 should specify the attribute code for the created attribute descriptor. πŸŽ€
  • str should hold a pointer to a NUL-terminated string which will become the value of the created attribute descriptor. πŸ“
  • If err is not NULL, it will be used to store error information in case of an error. πŸ‘‘

πŸ”₯ RETURN VALUES πŸ”₯

On success, dwarf_add_AT_string() returns the created attribute descriptor. Iconic. πŸ‘‘

In case of an error, dwarf_add_AT_string() returns DW_DLV_BADADDR and sets the argument err. Not the glow-up we wanted, but that’s the rule. πŸ’€

πŸ’€ ERRORS πŸ’€

dwarf_add_AT_string() can fail with:

  • [DW_DLE_ARGUMENT] β€” one of the arguments dbg, die or str was NULL. πŸ™ˆ
  • [DW_DLE_MEMORY] β€” an out of memory condition was encountered during the execution of the function. 😭

🌈 SEE ALSO 🌈


and that’s the whole page, bestie β€” signing off from Debian, September 4, 2011, with all the string-attribute sparkle we could possibly fit. πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from