1 //===-- llvm-objdump.h ----------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLVM_TOOLS_LLVM_OBJDUMP_LLVM_OBJDUMP_H
11 #define LLVM_TOOLS_LLVM_OBJDUMP_LLVM_OBJDUMP_H
13 #include "llvm/ADT/StringRef.h"
14 #include "llvm/Support/CommandLine.h"
15 #include "llvm/Support/DataTypes.h"
20 class MachOObjectFile;
25 extern cl::opt<std::string> TripleName;
26 extern cl::opt<std::string> ArchName;
27 extern cl::opt<std::string> MCPU;
28 extern cl::list<std::string> MAttrs;
29 extern cl::opt<bool> NoShowRawInsn;
31 // Various helper functions.
32 bool error(std::error_code ec);
33 bool RelocAddressLess(object::RelocationRef a, object::RelocationRef b);
34 void DumpBytes(StringRef bytes);
35 void DisassembleInputMachO(StringRef Filename);
36 void printCOFFUnwindInfo(const object::COFFObjectFile* o);
37 void printMachOUnwindInfo(const object::MachOObjectFile* o);
38 void printMachOExportsTrie(const object::MachOObjectFile* o);
39 void printMachORebaseTable(const object::MachOObjectFile* o);
40 void printMachOBindTable(const object::MachOObjectFile* o);
41 void printMachOLazyBindTable(const object::MachOObjectFile* o);
42 void printMachOWeakBindTable(const object::MachOObjectFile* o);
43 void printELFFileHeader(const object::ObjectFile *o);
44 void printCOFFFileHeader(const object::ObjectFile *o);
45 void printMachOFileHeader(const object::ObjectFile *o);
47 } // end namespace llvm