DSYMUTIL(1)
π
DSYMUTIL(1) β the dsymutil glow-up π¦
okay bestie, so this is the dsymutil page from the LLVM manual set, and honestly? it's giving "quiet little tool that does something kind of iconic." let's get into it π
β¨ NAME β¨
dsymutil β manipulate archived DWARF debug symbol files π (yes, that's really the whole vibe β it wrangles debug symbols)
πΈ SYNOPSIS πΈ
dsymutil [options] executable
π«Ά DESCRIPTION π«Ά
so here's the tea, bestie: dsymutil links the DWARF debug information that lives in the object files for a given executable β and it does this by using the debug symbols information chillin' in that executable's symbol table. cute, right? π
by default, the linked debug information gets placed in a .dSYM bundle with the same name as the executable. no cap, that's just where it goes β¨
π OPTIONS π
--accelerator=<accelerator type>β pick the type of accelerator table you want, bestie. the valid options are'Apple','Dwarf','Default'and'None'. choose wisely π--arch <arch>β only link DWARF debug information for the CPU architecture types you specify. architectures can be given by name. the catch: if you use this, an error gets returned if any architectures can't be properly linked. you can pass this option multiple times, once for each architecture you want. by default all CPU architectures get linked, and any that can't be properly linked will makedsymutilreturn an error π--build-variant-suffix <suffix=buildvariant>β sets the build variant suffix used to build the executable file. a product's binary can have multiple variants, each built slightly differently. the most common build variants are'debug'and'profile'. setting theDYLD_IMAGE_SUFFIXenvironment variable makes dyld load the specified variant at runtime π--dump-debug-mapβ dumps the executable's debug-map (that's the list of object files holding the debug information) in YAML format and then exits. no DWARF link happens at all. periodt.-D <path>β specify a directory that contains dSYM files to search in. this is for mergeable libraries, sodsymutilknows where to look for dSYM files that have debug information about symbols present in those libraries π¦
--fat64β use a 64-bit header when emitting universal binaries.--flat,-fβ produce a flat dSYM file. a.dwarfextension gets appended to the executable name β unless you specified the output file with the-ooption, in which case it doesn't π--gen-reproducerβ generate a reproducer made up of the input object files. this is an alias for--reproducer=GenerateOnExit.--help,-hβ print this help output. (hi, that's this π)--keep-function-for-staticβ makes a static variable keep the enclosing function, even if it would've been omitted otherwise.--minimize,-zβ when you're creating a dSYM file, this suppresses emission of the.debug_inlines,.debug_pubnames, and.debug_pubtypessections, sincedsymutilcurrently has better equivalents:.apple_namesand.apple_types. and when you use it together with the--updateoption, it causes redundant accelerator tables to be removed. two-for-one slay β¨--no-odrβ don't use ODR (One Definition Rule) for uniquing C++ types.--no-outputβ do the link in memory, but don't emit the result file. all vibes, no output π--no-swiftmodule-timestampβ don't check the timestamp for swiftmodule files.--num-threads <threads>,-j <threads>β specifies the maximum number (n) of simultaneous threads to use when linking multiple architectures. go parallel, bestie π₯--object-prefix-map <prefix=remapped>β remap object file paths (but no source paths) before processing. use this for Clang objects where the module cache location was remapped using-fdebug-prefix-mapβ that waydsymutilcan find the Clang module cache π§--oso-prepend-path <path>β specifies a path to prepend to all debug symbol object file paths.--out <filename>,-o <filename>β specifies an alternate path to place the dSYM bundle. the default dSYM bundle path is created by appending.dSYMto the executable name.--remarks-drop-without-debugβ drop remarks that don't have valid debug locations. without this flag, all remarks are kept. π--remarks-output-format <format>β specify the format used when serializing the linked remarks.--remarks-prepend-path <path>β specify a directory to prepend to the paths of the external remark files.--reproducer <mode>β specify the reproducer generation mode. valid options are'GenerateOnExit','GenerateOnCrash','Use','Off'.--statisticsβ print statistics about how much each object file contributed to the linked debug info. it prints a table after linking with the object file name, the size of the debug info in the object file (in bytes) and the size contributed (in bytes) to the linked dSYM. the table is sorted by the output size, listing the object files with the largest contribution first. big number energy π--symbol-map <bcsymbolmap>β update the existing dSYMs in place using the specified symbol map.-s,--symtabβ dumps the symbol table found in the executable or object file(s) and exits.-Sβ output textual assembly instead of a binary dSYM companion file.--toolchain <toolchain>β embed the toolchain in the dSYM bundle's property list.-u,--updateβ update an existing dSYM file so it contains the latest accelerator tables and other DWARF optimizations. this option rebuilds the'.apple_names'and'.apple_types'hashed accelerator tables π¦--use-reproducer <path>β use the object files from the given reproducer path. alias for--reproducer=Use.--verboseβ display verbose information when linking. chatty mode activated π£οΈ--verifyβ run the DWARF verifier on the linked DWARF debug info.-v,--versionβ display the version of the tool.-yβ treat executable as a YAML debug-map rather than an executable.
β EXIT STATUS β
dsymutil returns 0 if the DWARF debug information was linked successfully. otherwise, it returns 1. simple as that, bestie π
π SEE ALSO π
llvm-dwarfdump(1)<llvm-dwarfdump.html>
π Author π
maintained by the LLVM Team (https://llvm.org/). they're literally the main characters here π«Ά
πΈ Copyright πΈ
2003-2026, LLVM Project β iconic run, honestly π
and that's the whole page, bestie! sign-off szn: this was LLVM's dsymutil manual, dated 2026-09-09, from that 15th... okay, the header line said "15", which is the page's local addendum β we're just going to say it's the September 9th, 2026 edition, version noted, and you ate that read. go link some DWARF β¨ππ
π¦ where this page comes from
- ubuntu stonking: llvm-18 1:18.1.8-20ubuntu11 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms