LLVM-OTOOL(1)
π LLVM-OTOOL (like, the Mach-O dumping tool bestie)
okay so real quick before we dive in β this whole page is from the LLVM manual suite, section 1. that's the vibe. β¨
πΈ NAME
llvm-otool β a Mach-O dumping tool. literally what it says on the tin, no cap.
π SYNOPSIS
llvm-otool [option...] [file...]
π¦ DESCRIPTION
so llvm-otool is a tool for dumping Mach-O files. that's the whole assignment π
and here's the slay part: it attempts to be command-line-compatible and output-compatible with macOS's otool. like, it's giving "i can sit at the same table as the original." π«Ά
β¨ OPTIONS β¨
okay buckle up, there's a lot, but every single one is here so don't skip:
-arch <value>β picks which slice of a universal Mach-O file you wanna look at. universal files are like a little friend group of architectures, and this is you choosing who to talk to π-chained_fixupsβ prints chained fixup information. fancy internal stuff, very demure β¨-Cβ prints linker optimization hints.-dyld_infoβ prints bind and rebase information. dyld said "let me explain myself" π-Dβ prints the shared library id.-dβ prints the data section.-fβ prints universal headers.-Gβ prints the data-in-code table.--help-hiddenβ prints help for the hidden flags. yeah there's a secret menu π--helpβ prints help. the normal menu, no secrets.-hβ prints the mach header.-Iβ prints the indirect symbol table.-jβ prints opcode bytes.-Lβ prints the used shared libraries.-lβ prints load commands. lowercase L, uppercase vibes π-mcpu=<value>β selects the cpu for disassembly. yes, you tell it which brain to use π§-oβ prints the Objective-C segment.-Pβ prints the__TEXT,__info_plistsection as strings. plist info but make it readable π-p <function name>β starts disassembly at<function name>. like dropping a pin π-rβ prints relocation entries.-s <segname> <sectname>β prints the contents of a section. you give it a segment name and a section name, both, don't be shy π«Ά-tβ prints the text section.--versionβ prints the version. hi what's your sign, it's--versionπ-Vβ symbolizes disassembled operands (and yes, this implies-vβ it comes with a plus-one, iconic π)-vβ verbose output / disassemble when printing text sections. it's giving "tell me everything" π-Xβ omits leading addresses or headers. minimalism era π-xβ prints all text sections. all of them. the whole timeline.@<FILE>β reads command-line options and commands from the response file<FILE>. it's like a little note you pass to your bestie instead of shouting every flag out loud π
π EXIT STATUS
llvm-otool exits with a non-zero exit code if there is an error. otherwise, it exits with code 0. so like β 0 means we're good, anything else means something went sideways. periodt. π¦
π BUGS
gotta report a bug? be my guest, go here:
https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/
(the original page breaks that URL across a line with a hyphen β it's one URL, promise π«Ά)
π SEE ALSO
go read those too, they're also iconic in their own way β¨
π AUTHOR
maintained by the LLVM Team at https://llvm.org/. they're the main characters here fr fr π
π§ COPYRIGHT
2003-2023, LLVM Project β that's the whole copyright notice, keep it sacred π
so yeah, that's the page π it's LLVM version 17, dated 2023-12-01, and it's LLVM-OTOOL(1) β go dump some Mach-O files bestie, you're gonna slay π¦β¨
π¦ where this page comes from
- opensuse-leap 16.0: llvm17 17.0.6-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- opensuse-leap 16.0: llvm17 17.0.6-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- opensuse-leap 16.0: llvm17 17.0.6-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- opensuse-leap 16.0: llvm17 17.0.6-160000.3.1 Β· Apache-2.0 WITH LLVM-exception AND NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms