LLVM-OTOOL(1)

๐Ÿ’… LLVM-OTOOL(1) โ€” the LLVM manual, bestie edition โœจ

okay so this is llvm-otool, and it lives under the LLVM umbrella. she's a Mach-O dumping tool and honestly? she ate. ๐Ÿ“


โœจ NAME โœจ

llvm-otool โ€” Mach-O dumping tool ๐Ÿซถ


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

llvm-otool [option...] [file...]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

llvm-otool is a tool for dumping Mach-O files. that's the whole vibe. ๐Ÿ’…

she attempts to be command-line-compatible and output-compatible with macOS's otool โ€” like, she's trying so hard to be that girl and ngl she's doing great at it. no cap.


๐ŸŒธ OPTIONS ๐ŸŒธ

like a full menu of little flags, and every single one is iconic in her own way:

  • -a โ€” print the archive header. ๐Ÿ“ฆ
  • -arch <value> โ€” pick which slice of a universal Mach-O file you want. choose your fighter bestie.
  • -chained_fixups โ€” print chained fixup information.
  • -C โ€” print linker optimization hints. little helpful notes from the linker, cute.
  • -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 the hidden flags. secret menu energy ๐Ÿ”ฅ
  • --help โ€” print help. the basics, love her.
  • -h โ€” print the mach header.
  • -I โ€” print the indirect symbol table.
  • -j โ€” print opcode bytes.
  • -L โ€” print the used shared libraries.
  • -l โ€” print load commands.
  • -m โ€” don't use archive(member) syntax. just say no to brackets โœ‹
  • -mcpu=<value> โ€” select the cpu for disassembly.
  • -o โ€” print the Objective-C segment.
  • -P โ€” print the __TEXT,__info_plist section as strings.
  • -p <function name> โ€” start disassembly at <function name>. jump right in, main character energy ๐Ÿ‘‘
  • -r โ€” print relocation entries.
  • -s <segname> <sectname> โ€” print the contents of a section. two args, one job ๐Ÿ’–
  • -t โ€” print the text section.
  • --version โ€” print version.
  • -V โ€” symbolize disassembled operands (implies -v). note that she implies -v, so verbose comes along for the ride whether you asked or not ๐Ÿ™ˆ
  • -v โ€” verbose output / disassemble when printing text sections.
  • -X โ€” omit leading addresses or headers. minimalist era.
  • -x โ€” print all text sections. go big or go home.
  • @<FILE> โ€” read command-line options and commands from response file <FILE>. iykyk ๐ŸŒˆ

โญ EXIT STATUS โญ

llvm-otool exits with a non-zero exit code if there is an error. otherwise, she exits with code 0. so like... 0 means we're slaying, non-zero means something went sideways. periodt. ๐Ÿ’€


๐Ÿงš BUGS ๐Ÿงš

found a bug? do NOT suffer in silence bestie. to report bugs, please visit <https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/>. the team wants to hear it fr fr ๐Ÿซถ


๐Ÿ’œ SEE ALSO ๐Ÿ’œ

go read those too, they're lowkey obsessed with each other.


๐ŸŒŸ Author ๐ŸŒŸ

maintained by the LLVM Team (<https://llvm.org/>). kings. ๐Ÿ‘‘


2003-2026, LLVM Project


okay that's the whole page, bestie, and here's the cute sign-off: this was page 23 of the manual, dated 2026-10-20, and yes, the footer confirms she's still LLVM-OTOOL(1) at the end of the day. bye bestie, go dump some Mach-O files ๐ŸŽ€โœจ๐Ÿ’…

๐Ÿ“ฆ where this page comes from
  • arch rolling: llvm 23.1.4-1 ยท Apache-2.0 WITH LLVM-exception
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms