.TH OTOOL 1 "July 28, 2005" "Apple Computer, Inc." .SH NAME otool \- object file displaying tool .SH SYNOPSIS .B otool [ .I "option \&..." ] [ .I "file \&..." ] .SH DESCRIPTION The .I otool command displays specified parts of object files or libraries. If the, .B \-m option is not used, the file arguments may be of the form .IR "libx.a(foo.o)" , to request information about only that object file and not the entire library. (Typically this argument must be quoted, .I ``libx.a(foo.o)'', to get it past the shell.) .I Otool understands both Mach-O (Mach object) files and universal file formats. .I Otool can display the specified information in either its raw (numeric) form (without the .B \-v flag), or in a symbolic form using macro names of constants, etc. (with the .B \-v or .B \-V flag). .PP At least one of the following options must be specified: .TP .B \-a Display the archive header, if the file is an archive. .TP .B \-S Display the contents of the `\_\^\_.SYMDEF' file, if the file is an archive. .TP .B \-f Display the universal headers. .TP .B \-h Display the Mach header. .TP .B \-l Display the load commands. .TP .B \-L Display the names and version numbers of the shared libraries that the object file uses. .TP .B \-D Display just install name of a shared library. .TP .BI \-s " segname sectname" Display the contents of the section .RI ( segname,sectname ). If the .B \-v flag is specified, the section is displayed as its type, unless the type is zero (the section header flags). Also the sections (\_\^\_OBJC,\_\^\_protocol), (\_\^\_OBJC,__string_object) and (\_\^\_OBJC,\_\^\_runtime_setup) are displayed symbolically if the .B \-v flag is specified. .TP .B \-t Display the contents of the (\_\^\_TEXT,\_\^\_text) section. With the .B \-v flag, this disassembles the text. And with .BR \-V , it also symbolically disassembles the operands. .TP .B \-d Display the contents of the (\_\^\_DATA,\_\^\_data) section. .TP .B \-o Display the contents of the \_\^\_OBJC segment used by the Objective-C run-time system. .TP .B \-r Display the relocation entries. .TP .B \-c Display the argument strings (argv and envp) from a core file. .TP .B \-I Display the indirect symbol table. .TP .B \-T Display the table of contents for a dynamically linked shared library. .TP .B \-R Display the reference table of a dynamically linked shared library. .TP .B \-M Display the module table of a dynamically linked shared library. .TP .B \-H Display the two-level namespace hints table. .PP The following options may also be given: .TP .BI "\-p " name Used with the .B \-t and .B \-v or .B \-V options to start the disassembly from symbol .I name and continue to the end of the (\_\^\_TEXT,\_\^\_text) section. .TP .B \-v Display verbosely (symbolically) when possible. .TP .B \-V Display the disassembled operands symbolically (this implies the .B \-v option). This is useful with the .B \-t option. .TP .B \-X Don't display leading addresses when displaying contents of sections. .TP .BI \-arch " arch_type" Specifies the architecture, .I arch_type, of the file for .IR otool (1) to operate on when the file is a universal file. (See .IR arch (3) for the currently know .IR arch_type s.) The .I arch_type can be "all" to operate on all architectures in the file. The default is to display only the host architecture, if the file contains it; otherwise, all architectures in the file are shown. .TP .B \-m The object file names are not assumed to be in the archive(member) syntax, which allows file names containing parenthesis.