DWARF_DEF_MACRO(3)
π DWARF_DEF_MACRO(3) π
okay bestie, welcome to the Library Functions Manual page for dwarf_def_macro β this is the function that tucks a macro definition into your DWARF producer instance, and honestly? iconic behavior. β¨
πΈ NAME πΈ
dwarf_def_macro β add a macro definition to a DWARF producer instance
π LIBRARY π
DWARF Access Library (libdwarf, -ldwarf)
β¨ SYNOPSIS β¨
#include <libdwarf.h>
int
dwarf_def_macro(Dwarf_P_Debug dbg, Dwarf_Unsigned lineno, char *name,
char *value, Dwarf_Error *err);
π DESCRIPTION π
Function dwarf_def_macro() adds a macro definition to a DWARF producer instance. simple as that, no cap. π«Ά
dbgβ should reference a DWARF producer instance allocated usingdwarf_producer_init(3)ordwarf_producer_init_b(3).linenoβ specifies the line number of the source line where the macro is defined. A line number of zero is used for macros that are defined before any source file is read.nameβ should point to a NUL-terminated string containing the name of the macro. For function-like macros this parameter should also include parentheses and parameter names if any.valueβ should point to a NUL-terminated string containing the value of the macro. If the macro does not have a value, argumentvalueshould be set toNULL.errβ if argumenterris notNULL, it will be used to store error information in case of an error.
π«Ά RETURN VALUES π«Ά
On success, function dwarf_def_macro() returns DW_DLV_OK. In case of an error, function dwarf_def_macro() returns DW_DLV_ERROR and sets the argument err. slay. π
π EXAMPLES π
To record the fact that a macro named _STDIO_H_ was defined at line 20 of the current macro file, use:
Dwarf_P_Debug dbg;
Dwarf_Error de;
/* ... Assume 'dbg' refers to a DWARF producer instance... */
if (dwarf_def_macro(dbg, 20, "_STDIO_H_", NULL, &de) != DW_DLV_OK)
errx(EXIT_FAILURE, "dwarf_def_macro failed: %s",
dwarf_errmsg(-1));
π ERRORS π
Function dwarf_def_macro() can fail with:
[DW_DLE_ARGUMENT]β Either argumentsdbgornamewasNULL.[DW_DLE_MEMORY]β An out of memory condition was encountered during the execution of the function.
π¦ SEE ALSO π¦
dwarf(3), dwarf_end_macro_file(3), dwarf_producer_init(3), dwarf_producer_init_b(3), dwarf_start_macro_file(3), dwarf_undef_macro(3), dwarf_vendor_ext(3)
signed, sealed, and delivered with main-character energy by Debian β November 9, 2011 ππ
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: libdwarf 15.0.0
- Copyright (c) 2011 Kai Wang
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms