LLVM-OTOOL(1)
π¦ LLVM-OTOOL β the Mach-O dumping tool, bestie edition
okay so real quick, before we get into it: this is the llvm-otool manual page, from the LLVM crew (that's the manual name right up at the top, iykyk π
). She's a whole vibe and she's here to spill everything about your Mach-O files. Let's go β¨
π SYNOPSIS
llvm-otool [optionβ¦] [fileβ¦]
π DESCRIPTION
llvm-otool is, at her core, a tool for dumping Mach-O files. That's the assignment, that's the whole job, and she does it iconically.
The way that she's built? She literally attempts to be command-line-compatible and output-compatible with macOS's otool. So if you know otool, you already know her. Same energy, same output, no cap. π«Ά
β¨ OPTIONS β¨
okay this is the good part, the whole flag buffet. Every single one, no skipping, because we don't gatekeep here:
-arch <value>β select the slice of a universal Mach-O file. universal = multiple archs in one file, and this is how you pick your main character π-Cβ print linker optimization hints.-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. the secret menu, lowkey π--helpβ print help. the regular menu.-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 (the manpage literally spells itcommnads, and honestly? same π keeping it real).-mcpu=<value>β select the cpu for disassembly.-oβ print the Objective-C segment.-Pβ print the__TEXT,__info_plistsection as strings. plist girlies rise πΈ-p <function name>β start disassembly at <function name>. like dropping a pin and saying "start here bestie"-rβ print relocation entries.-s <segname> <sectname>β print the contents of a section. you give her the segment name and the section name, both, no shortcuts β¨-tβ print the text section.--versionβ print the version.-Vβ symbolize disassembled operands. heads up: this implies-v, she comes as a package deal π-vβ verbose output, and also disassemble when printing text sections. she's doing double duty and she ate π₯-Xβ omit leading addresses or headers.-xβ print all text sections.@<FILE>β read command-line options and commands from the response file <FILE>. yes, a file full of flags, iconic behavior π
π«Ά EXIT STATUS
llvm-otool exits with a non-zero exit code if there's an error. Otherwise? She exits with code 0. Clean, tidy, slay. β
π BUGS
Found a bug? To report bugs, please visit <https://bugs.llvm.org/>. Do it, she wants to know, fr fr π
π SEE ALSO
go show these girls some love too:
π AUTHOR
Maintained by the LLVM Team (https://llvm.org/). absolute legends, no notes π
π COPYRIGHT
2003-2023, LLVM Project
and that's the whole page, bestie π§ mwah π
ok one last cute little sign-off: this beauty is from LLVM, dated 2023-07-14, and lives in section 13 of the manual. take care of her, k? ππ
π¦ where this page comes from
- ubuntu jammy: llvm-13 1:13.0.1-2ubuntu2.2 Β· APACHE-2-LLVM-EXCEPTIONS
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms