manpagez: man pages & more
man llvm-otool(1)
Home | html | info | man
llvm-otool(1)                                                    llvm-otool(1)




NAME

       llvm-otool  - the temporary command line shim for otool to objdump com-
       mand line translation


SYNOPSIS

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


DESCRIPTION

       The temporary command line shim llvm-otool takes all the  same  options
       as  the command otool(1) and executes an equivalent objdump(1) command.
       Its use is to ease the change over of the use of otool(1) which will be
       obsoleted,  to  the  llvm based open source objdump(1) command with the
       similar functionality.  It is a temporary tool that will  removed  when
       the otool(1) command line tool is removed.

       -show-objdump-command
              Print the llvm-otool(1) will execute.



NOTES FOR SPECIFIC OPTIONS

       -l     This also always implies the -h option, as the objdump(1) option
              used is -private-headers prints both the mach  header  and  load
              commands.

       -r     The  format  for  the  printing of the relocation information is
              different with objdump(1).

       -S     To display the contents of the  `__.SYMDEF'  archive  file,  use
              llvm-nm(1) with the -print-armap option.



GENERAL NOTES

       Many  of the older options in otool(1) are obsolete as they print parts
       of the object file that are no longer in use.   When  used  with  llvm-
       otool(1) a line is printed that states the option and the functionality
       is obsolete.  If no valid equivalent options are given then usage  mes-
       sage from objdump(1) will be printed when executed.

       The  archive  member  syntax of arguments of the form libx.a(foo.o), is
       not supported.  Which is the same as if the -m option is always used.

       When doing disassembly the default is to not print the opcode bytes  of
       the  instructions even for 32-bit ARM.  To get the opcode bytes printed
       for ARM the otool(1) option -j needs to be used.

       There are some white space differences in the output  of  the  otool(1)
       and  objdump(1)  commands  in some cases.  As the objdump(1) command is
       not meant to produce the exact same output as  otool(1)  in  all  cases
       where the functionality is very similar.



SPECIFIC TRANSLATIONS OF OPTIONS

       Below  is  the  list  of  otool(1)  options and the specific objdump(1)
       option to print the same information.  To use these options  with  obj-
       dump(1)  the -macho option must be used.  The default for objdump(1) is
       as if the verbose, -v option is always used.  To  get  the  non-verbose
       output the objdump(1) -non-verbose option is used.

       -a     The  objdump(1)  -archive-headers will print the archive header,
              if the file is an archive.  To get the offsets  to  the  archive
              headers that would be printed with the otool(1) -aV options, the
              objdump(1) -archive-member-offsets can be added.

       -S     There is no objdump(1) option to display  the  contents  of  the
              `__.SYMDEF' file, if the file is an archive.  For that use llvm-
              nm(1) with the -print-armap option.

       -f     The objdump(1) option to display the universal headers is  -uni-
              versal-headers.

       -h     The  objdump(1)  option  to display the Mach header is -private-
              header.

       -l     The objdump(1) option to display the load commands is  -private-
              headers which also always displays the Mach header.

       -L     The  objdump(1)  option to display the names and version numbers
              of the shared libraries that the object file uses,  as  well  as
              the  shared  library  ID  if  the  file  is  a shared library is
              -dylibs-used.

       -D     The objdump(1) option to display just  the  install  name  of  a
              shared library is -dylib-id.

       -s segname sectname
              The  objdump(1)  option  to  display the contents of the section
              (segname,sectname) is -section [segname,]sectname where the seg-
              name  is optional and all segments will be searched for a match-
              ing sectname.

       -t     The  objdump(1)  option  to  display   the   contents   of   the
              (__TEXT,__text)  section  is  to  use the -section __TEXT,__text
              option.  If disassembly is  wanted  as  with  the  -tv  otool(1)
              options  then  the  objdump(1) -disassemble is used.  By default
              objdump(1) also symbolically disassembles the  operands  as  the
              otool(1)  -tV  options  will do.  If this is not wanted then the
              objdump(1) -no-symbolic-operands option can be used.

       -d     The  objdump(1)  option  to  display   the   contents   of   the
              (__DATA,__data)  section  is  to  use the -section __DATA,__data
              option.

       -o     The objdump(1) option to display the contents of the __OBJC seg-
              ment used by the Objective-C run-time system is -objc-meta-data.

       -r     The objdump(1) option to display the relocation entries  is  -r.
              The  format  for  the  printing of the relocation information is
              different with objdump(1).

       -I     The objdump(1) option to display the indirect  symbol  table  is
              -indirect-symbols.

       -G     The  objdump(1)  option  to  display  the  data in code table is
              -data-in-code.

       -C     The objdump(1) option to display the linker  optimization  hints
              is -link-opt-hints.

       -P     The   objdump(1)   option  to  print  the  info  plist  section,
              (__TEXT,__info_plist), as strings is -info-plist.

       -p name
              The objdump(1) option to start the disassembly from symbol  name
              is -dis-symname name.

       -v     For objdump(1) verbose output is the default and to get the non-
              verbose the option -non-verbose is used.

       -V     For objdump(1) displaying the disassembled operands symbolically
              is the default and to get non-symbolic operands with disassembly
              the option -no-symbolic-operands is used.

       -X     The objdump(1) option to not print leading addresses or  headers
              with disassembly of sections is -no-leading-addr.

       -mcpu=arg
              The objdump(1) option when doing disassembly using the llvm dis-
              assembler to use the cpu arg.  is the same -mcpu=arg option.

       -arch arch_type
              The objdump(1) options to specifies the architectures to operate
              on are the same -arch arch_type options.

       -j     The  objdump(1) prints the opcode bytes of the instructions when
              doing disassembly by default and is turned off with  the  option
              -no-show-raw-insn.

       --version
              The  llvm-otool(1) version
              information and the objdump(1) version information  is  -version
              (with one leading dash).



OBSOLETE OPTIONS

       -c     There  is  no  objdump(1) option to display the argument strings
              (argv[] and envp[]) from a core file.

       -T     There is no objdump(1) option to display the table  of  contents
              for  a dynamically linked shared library, as this table is obso-
              lete and no longer produced by the tools.

       -R     There is no objdump(1) option to display the reference table  of
              a  dynamically  linked shared library, as this table is obsolete
              and no longer produced by the tools.

       -M     There is no objdump(1) option to display the module table  of  a
              dynamically linked shared library, as this table is obsolete and
              no longer produced by the tools.

       -H     There is no objdump(1) option to display the two-level namespace
              hints table, as this table is obsolete and no longer produced by
              the tools.

       -i     There is no objdump(1) option to display the shared library ini-
              tialization  table, as this table is obsolete and no longer pro-
              duced by the tools.

       -q     There is no objdump(1) option to use the llvm disassembler  when
              doing disassembly as this is the default.

       -Q     There  is  no objdump(1) option to use the otool(1) disassembler
              when doing disassembly as only the llvm disassembler is used.

       -function_offsets
              There is no objdump(1) option when doing  disassembly  to  print
              the decimal offset from the last label printed.

       -m     There  is no objdump(1) option to not assume to the archive(mem-
              ber) syntax as that is the  default.   And  the  archive(member)
              syntax is not supported as file arguments with objdump(1).



Apple Inc.                     January 13, 2016                  llvm-otool(1)

Mac OS X 10.11.6 - Generated Thu Feb 2 18:15:19 CST 2017
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.