LLVM-OTOOL(1)
π llvm-otool(1) β the Mach-O dumping tool, bestie edition π
okay so. you found the llvm-otool manual page and honestly? you're about to have a great time. this is a page from the LLVM manual collection, and it's all about poking at Mach-O files like the absolute detective you are π΅οΈβοΈβ¨
πΈ NAME πΈ
llvm-otool β Mach-O dumping tool. that's it. that's the whole name. iconic, minimal, no notes. π
π¦ SYNOPSIS π¦
llvm-otool [optionβ¦] [fileβ¦]
options, files, go. very "we contain multitudes" of it.
π DESCRIPTION π
so llvm-otool is a tool for dumping Mach-O files. Mach-O files are likeβ¦ the little nested-onion situation macOS uses, and this thing unpeels them for you. π§
and the real tea? it attempts to be command-line-compatible and output-compatible with macOS's otool. so if you already know otool, you already lowkey know this. slay. π₯
β¨ OPTIONS β¨
one bullet per flag, no skips, no shortcuts, because we do not leave the boring ones out in this house. π
-arch <value>β pick a slice out of a universal Mach-O file. universal files are giving "many selves in one body" and this chooses which one you're talking to. π-chained_fixupsβ print the chained fixup information. fixups! but chained! π-Cβ print linker optimization hints. little helpful whispers from the linker. π¬-dyld_infoβ print bind and rebase information. dyld's whole deal, laid bare. π«Ά-Dβ print the shared library id. who are you, library? π-dβ print the data section. the data. the vibes. π-fβ print universal headers. the headers up top, but make them universal. π-Gβ print the data-in-code table. yes bestie, it's a table. π--help-hiddenβ print help for hidden flags. the secret menu. the lore. π--helpβ print help. the regular, non-secret menu. π-hβ print mach header. lowercaseh, capital importance. β-Iβ print the indirect symbol table. indirect! like a situationship, but for symbols. π-jβ print opcode bytes. raw little bytes, unfiltered. π-Lβ print used shared libraries. the library guest list. π-lβ print load commands. (lowercase L, yes, careful β-Iand-lare different and they will humble you.) π§-mcpu=<value>β select cpu for disassembly. tell it which brain to use. π§-oβ print the Objective-C segment. the Obj-C corner of the world. πΈ-Pβ print the__TEXT,__info_plistsection as strings. plist but make it strings. β¨-p <function name>β start disassembly at<function name>. jump straight to your fave function, main character behavior. π-rβ print relocation entries. everything moves, nothing stays. π¦-s <segname> <sectname>β print contents of a section. two args, segment then section, in that order, don't flip them bestie. π-tβ print the text section. the text. the classics. π--versionβ print version. because sometimes you just need to know. π-Vβ symbolize disassembled operands (implies-v). yes it drags-valong with it, they're a package deal. π«Ά-vβ verbose output / disassemble when printing text sections. loud and proud, and it disassembles for you when you're printing text sections. π£-Xβ omit leading addresses or headers. minimalism era. clean lines, no clutter. π-xβ print all text sections. all of them. every last one. no crumbs. π₯@<FILE>β read command-line options and commands from response file<FILE>. a file full of options? she's organized, she's efficient, she ate. π
π EXIT STATUS π
okay so here's the vibe check:
- if there's an error,
llvm-otoolexits with a non-zero exit code. π¨ - otherwise, it exits with code 0. we love a clean exit. π
π BUGS π
found a bug? not me being shocked, every tool has a day π β to report bugs, please visit:
https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/
(and yes the original page has that URL split across a line with a hyphen-ish soft break; the link above is the one true link. go forth and file. π«Ά)
π¦ SEE ALSO π¦
the whole friend group. go say hi. β¨
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). we stan maintainers. π«Ά
π COPYRIGHT π
2003-2024, LLVM Project. periodt. π
aaaand that's the page bestie!! this was page 15, dated 2024-04-14, from the LLVM source, filed under LLVM-OTOOL(1) β so like, if you need to cite it, that's your receipt π§Ύβ¨ now go dump some Mach-O files and be the main character of your terminal πΈππ
π¦ where this page comes from
- ubuntu noble: llvm-16 1:16.0.6-23ubuntu4 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms