DWARF_GET_SECTION_MAX_OFFSETS(3)

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

πŸ¦‹ DWARF_GET_SECTION_MAX_OFFSETS(3) πŸ¦‹

okay so bestie, welcome to DWARF_GET_SECTION_MAX_OFFSETS(3) from the Library Functions Manual β€” we’re doing DWARF section sizes today and it’s lowkey iconic πŸ’…


🌸 NAME 🌸

dwarf_get_section_max_offsets, dwarf_get_section_max_offsets_b β€” return the size of DWARF sections ✨


πŸ’– LIBRARY πŸ’–

DWARF Access Library (libdwarf, -ldwarf)


πŸŽ€ SYNOPSIS πŸŽ€

#include <libdwarf.h>

int
dwarf_get_section_max_offsets(Dwarf_Debug dbg,
    Dwarf_Unsigned *debug_info, Dwarf_Unsigned *debug_abbrev,
    Dwarf_Unsigned *debug_line, Dwarf_Unsigned *debug_loc,
    Dwarf_Unsigned *debug_aranges, Dwarf_Unsigned *debug_macinfo,
    Dwarf_Unsigned *debug_pubnames, Dwarf_Unsigned *debug_str,
    Dwarf_Unsigned *debug_frame, Dwarf_Unsigned *debug_ranges,
    Dwarf_Unsigned *debug_pubtypes);

int
dwarf_get_section_max_offsets_b(Dwarf_Debug dbg,
    Dwarf_Unsigned *debug_info, Dwarf_Unsigned *debug_abbrev,
    Dwarf_Unsigned *debug_line, Dwarf_Unsigned *debug_loc,
    Dwarf_Unsigned *debug_aranges, Dwarf_Unsigned *debug_macinfo,
    Dwarf_Unsigned *debug_pubnames, Dwarf_Unsigned *debug_str,
    Dwarf_Unsigned *debug_frame, Dwarf_Unsigned *debug_ranges,
    Dwarf_Unsigned *debug_pubtypes, Dwarf_Unsigned *debug_types);

🫢 DESCRIPTION 🫢

So dwarf_get_section_max_offsets_b() is the main character here: it retrieves the sizes of the DWARF sections in a DWARF debug context. The dbg argument should reference a DWARF debug context allocated using dwarf_init(3).

The function stores the size of each DWARF section into the location pointed to by the argument that corresponds to that section name. And if a DWARF section doesn’t exist? No stress β€” the location pointed to by the argument for that section gets set to zero. Slay. ✨

A value of NULL may be used for any of the arguments debug_info, debug_abbrev, debug_line, debug_loc, debug_aranges, debug_macinfo, debug_pubnames, debug_str, debug_frame, debug_ranges, debug_pubtypes and debug_types if the caller is not interested in the respective section size. Very β€œnot me caring about every single section” of you πŸ’…

dwarf_get_section_max_offsets() is literally identical to dwarf_get_section_max_offsets_b() except it does not provide the debug_types argument, so it cannot return the size of the .debug_types section. That’s the whole difference, no cap.


πŸ”₯ RETURN VALUES πŸ”₯

On success, these functions return DW_DLV_OK. If the dbg argument is NULL, they return DW_DLV_ERROR.


🌈 SEE ALSO 🌈


okay bestie that’s the whole vibe check πŸŽ€ this cutie came from Debian, dated December 21, 201, and lives under DWARF_GET_SECTION_MAX_OFFSETS(3) β€” periodt πŸ’œ

πŸ“¦ where this page comes from