DSYMUTIL(1)
π DSYMUTIL(1) π
okay bestie, sit down, hydrate, and let me tell you about dsymutil β that's the LLVM one, from the LLVM manual gang, section 1. she's a debug-symbol girlie and she's so good at her job. π
β¨ NAME β¨
dsymutil β manipulate archived DWARF debug symbol files π¦
πΈ SYNOPSIS πΈ
dsymutil [options] executable
π DESCRIPTION π
so here's the tea. dsymutil links the DWARF debug info that's scattered around in the object files for an executable β that's your executable argument right there β and it does it by using the debug symbol information chillin' in that executable's symbol table. π«Ά
and by default? the linked debug info gets dropped into a .dSYM bundle with the same name as the executable. no cap. iconic behavior honestly.
π OPTIONS π
--accelerator=<accelerator type>β pick what kind of accelerator table you want. the valid options are'Apple','Dwarf','Default'and'None'. choose wisely bestie β¨--arch <arch>β only link DWARF debug info for the CPU architecture types you name. you can specify architectures by name. heads up tho: if you use this option and any of the architectures can't be properly linked, you get an error. you can pass this option multiple times, once for each architecture you want. by default, all CPU architectures get linked, and any architecture that can't be properly linked makesdsymutilreturn an error. π--build-variant-suffix <suffix=buildvariant>β specify 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'. and listen β setting theDYLD_IMAGE_SUFFIXenvironment variable makes dyld load the specified variant at runtime. π§--dump-debug-mapβ dump the executable's debug-map (that's the list of object files holding the debug info) in YAML format and then exit. no DWARF link will take place. periodt. π-D <path>β specify a directory that contain dSYM files to search for. this is used for mergeable libraries, sodsymutilknows where to look for dSYM files with 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 specify the output file with the-ooption. π--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. the classic. π--include-swiftmodules-from-interfaceβ whether or not to copy binary swiftmodules built from textual.swiftinterfacefiles into the dSYM bundle. these typically come only from the SDK (since textual interfaces require library evolution), so copying them into the bundle is a waste of space. turn this on if the swiftmodules are different from the ones in the SDK. π¦--keep-function-for-staticβ make a static variable keep the enclosing function even if it would have been omitted otherwise. β¨--no-object-timestampβ don't check timestamp for object files. π--no-odrβ do not use ODR (One Definition Rule) for uniquing C++ types. π--no-outputβ do the link in memory, but do not emit the result file. πΈ--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β it helpsdsymutilfind 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. π-q,--quietβ enable quiet mode and limit output. shhh. π€«--remarks-drop-without-debugβ drop remarks without valid debug locations. without this flag, all remarks are kept. π--remarks-output-format <format>β specify the format to be used when serializing the linked remarks. β¨--remarks-prepend-path <path>β specify a directory to prepend 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 the contribution of each object file to the linked debug info. this 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. π-s,--symtabβ dumps the symbol table found in 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 to contain the latest accelerator tables and other DWARF optimizations. this option will rebuild 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. tell me everything, i'm obsessed. π«Ά--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. that's it, that's the vibe check. π
πΈ SEE ALSO πΈ
llvm-dwarfdump(1)<llvm-dwarfdump.html>
π Author π
maintained by the LLVM Team (https://llvm.org/). the actual icons. π
π Copyright π
2003-2026, LLVM Project
and that's the whole page, bestie!! π¦β¨ this one's page 22 of the LLVM manual, dated 2026-07-16 β shoutout to the DSYMUTIL(1) header and footer, they did their little job and we love them for it. now go link some DWARF and slay π
ππ
π¦ where this page comes from
- fedora 44: llvm 22.1.8-4.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- fedora 44: llvm 22.1.8-4.fc44 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms