LLVM-OTOOL(1)

πŸ“¦ version 15.0.7, in opensuse-leap 16.0

πŸ’… LLVM-OTOOL β€” the Mach-O dumping tool (yes, that's the manual name, it's llvm-otool, from LLVM, bestie)

🌸 SYNOPSIS

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

✨ DESCRIPTION

Okay so llvm-otool is a tool for dumping Mach-O files. That's the whole vibe. πŸ’–

The tea here is that it attempts to be command-line-compatible and output-compatible with macOS's otool. Like, it's trying to match its whole energy. 🫢


πŸŽ€ OPTIONS πŸŽ€

Let's go through literally every single one, no skipping, I promise:

  • -arch <value> β€” picks out the slice of a universal Mach-O file. Choose your fighter. πŸ¦‹
  • -C β€” prints linker optimization hints.
  • -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 πŸ‘€ (iykyk).
  • --help β€” prints help. The regular kind.
  • -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, bestie β€” do not confuse it with -L 😭)
  • -mcpu=<value> β€” selects the cpu for disassembly. Note the = β€” it's giving -mcpu=<value>, not a space. πŸ’€
  • -o β€” prints the Objective-C segment.
  • -P β€” prints the __TEXT,__info_plist section as strings.
  • -p <function name> β€” starts disassembly at <function name>.
  • -r β€” prints relocation entries.
  • -s <segname> <sectname> β€” prints the contents of a section. Two args, both required, in that order. 🎯
  • -t β€” prints the text section.
  • --version β€” prints the version.
  • -V β€” symbolizes disassembled operands (and it implies -v, so you get verbose for free ✨).
  • -v β€” verbose output / disassemble when printing text sections. Two moods, one flag.
  • -X β€” omits leading addresses or headers.
  • -x β€” prints all text sections. yes, all of them. πŸ‘‘
  • @<FILE> β€” reads command-line options and commands from the response file <FILE>. Iconic little at-sign moment. πŸ“

πŸ”₯ EXIT STATUS

llvm-otool exits with a non-zero exit code if there's an error. Otherwise? It exits with code 0. Slay. βœ…

πŸ’€ BUGS

Wanna report a bug? Please visit [the link below] β€” literally this one:

https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/

(The original line breaks it as https://github.com/llvm/llvm-project/labels/tools:llvm-objdump/ β€” same URL, just wrapped in the manpage. 🫢)

🌈 SEE ALSO

πŸ‘‘ AUTHOR

Maintained by the LLVM Team (https://llvm.org/). Shoutout to the whole team, fr fr. πŸ’œ

2003-2023, LLVM Project


ngl that's the whole page, bestie β€” every flag, every path, every number, untouched. Main character energy only. πŸ’…

okay bye, this was LLVM-OTOOL(1), page 15, dated 2023-01-14 β€” mwah πŸ’– see u in the group chat ✨

πŸ“¦ where this page comes from