LLVM-OTOOL(1)
π llvm-otool β the Mach-O tea spiller π
okay bestie, welcome to llvm-otool, from the LLVM manual collection β¨ (section 1, the "user commands" corner of the universe, iykyk). it's a Mach-O dumping tool, and it's about to tell you absolutely everything about your binary. no secrets. no cap. π«Ά
β¨ SYNOPSIS β¨
llvm-otool [option...] [file...]
give it some options, give it some files, and watch it spill. π
πΈ DESCRIPTION πΈ
so basically llvm-otool is a tool for dumping Mach-O files. that's the whole vibe. π¦
and here's the iconic part: it attempts to be command-line-compatible and output-compatible with macOS's otool. so if you're switching over, your scripts and your muscle memory both get to stay. periodt. π
π OPTIONS π
one bullet per flag, exactly as they come, no notes skipped:
-arch <value>β pick a slice of a universal Mach-O file. universal binaries are giving β¨optionsβ¨ and this is how you choose one.-chained_fixupsβ print chained fixup information.-Cβ print linker optimization hints.-dyld_infoβ print bind and rebase information.-Dβ print the shared library id.-dβ print the data section.-fβ print universal headers.-Gβ print the data-in-code table.--help-hiddenβ print help for hidden flags. π the secret menu.--helpβ print help. the normal, non-secret menu.-hβ print mach header.-Iβ print indirect symbol table.-jβ print opcode bytes.-Lβ print used shared libraries.-lβ print load commands.-mcpu=<value>β select cpu for disassembly.-oβ print the Objective-C segment.-Pβ print the__TEXT,__info_plistsection as strings.-p <function name>β start disassembly at <function name>.-rβ print relocation entries.-s <segname> <sectname>β print contents of section. two placeholders, bestie, don't forget the second one π«Ά-tβ print text section.--versionβ print version.-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.-Xβ omit leading addresses or headers.-xβ print all text sections.@<FILE>β read command-line options and commands from response file <FILE>.
π₯ EXIT STATUS π₯
llvm-otool exits with a non-zero exit code if there is an error. otherwise, it exits with code 0.
translation: 0 means we ate, non-zero means something went sideways π
π BUGS π
found a bug? don't suffer in silence, bestie. to report bugs, please visit:
https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/
fr fr go tell them, that's literally what the label is for π
π SEE ALSO π
llvm-nm(1)<llvm-nm.html>llvm-objdump(1)<llvm-objdump.html>
the whole friend group. go say hi π
π§ Author π§
maintained by the LLVM Team (https://llvm.org/). iconic behavior, truly. π
π Copyright π
2003-2026, LLVM Project
and that's the page!! π this was LLVM-OTOOL(1) from the LLVM manual, 22 section, dated 2026-07-16 β so go dump some Mach-O files, bestie, you're gonna 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