1f4a2713aSLionel Sambuc //===-- llvm-objdump.h ----------------------------------------------------===// 2f4a2713aSLionel Sambuc // 3f4a2713aSLionel Sambuc // The LLVM Compiler Infrastructure 4f4a2713aSLionel Sambuc // 5f4a2713aSLionel Sambuc // This file is distributed under the University of Illinois Open Source 6f4a2713aSLionel Sambuc // License. See LICENSE.TXT for details. 7f4a2713aSLionel Sambuc // 8f4a2713aSLionel Sambuc //===----------------------------------------------------------------------===// 9f4a2713aSLionel Sambuc 10*0a6a1f1dSLionel Sambuc #ifndef LLVM_TOOLS_LLVM_OBJDUMP_LLVM_OBJDUMP_H 11*0a6a1f1dSLionel Sambuc #define LLVM_TOOLS_LLVM_OBJDUMP_LLVM_OBJDUMP_H 12f4a2713aSLionel Sambuc 13f4a2713aSLionel Sambuc #include "llvm/ADT/StringRef.h" 14f4a2713aSLionel Sambuc #include "llvm/Support/CommandLine.h" 15f4a2713aSLionel Sambuc #include "llvm/Support/DataTypes.h" 16f4a2713aSLionel Sambuc 17f4a2713aSLionel Sambuc namespace llvm { 18f4a2713aSLionel Sambuc namespace object { 19f4a2713aSLionel Sambuc class COFFObjectFile; 20*0a6a1f1dSLionel Sambuc class MachOObjectFile; 21f4a2713aSLionel Sambuc class ObjectFile; 22f4a2713aSLionel Sambuc class RelocationRef; 23f4a2713aSLionel Sambuc } 24f4a2713aSLionel Sambuc 25f4a2713aSLionel Sambuc extern cl::opt<std::string> TripleName; 26f4a2713aSLionel Sambuc extern cl::opt<std::string> ArchName; 27*0a6a1f1dSLionel Sambuc extern cl::opt<std::string> MCPU; 28*0a6a1f1dSLionel Sambuc extern cl::list<std::string> MAttrs; 29*0a6a1f1dSLionel Sambuc extern cl::opt<bool> Disassemble; 30*0a6a1f1dSLionel Sambuc extern cl::opt<bool> NoShowRawInsn; 31*0a6a1f1dSLionel Sambuc extern cl::opt<bool> PrivateHeaders; 32*0a6a1f1dSLionel Sambuc extern cl::opt<bool> ExportsTrie; 33*0a6a1f1dSLionel Sambuc extern cl::opt<bool> Rebase; 34*0a6a1f1dSLionel Sambuc extern cl::opt<bool> Bind; 35*0a6a1f1dSLionel Sambuc extern cl::opt<bool> LazyBind; 36*0a6a1f1dSLionel Sambuc extern cl::opt<bool> WeakBind; 37*0a6a1f1dSLionel Sambuc extern cl::opt<bool> UniversalHeaders; 38f4a2713aSLionel Sambuc 39f4a2713aSLionel Sambuc // Various helper functions. 40*0a6a1f1dSLionel Sambuc bool error(std::error_code ec); 41f4a2713aSLionel Sambuc bool RelocAddressLess(object::RelocationRef a, object::RelocationRef b); 42f4a2713aSLionel Sambuc void DumpBytes(StringRef bytes); 43*0a6a1f1dSLionel Sambuc void ParseInputMachO(StringRef Filename); 44f4a2713aSLionel Sambuc void printCOFFUnwindInfo(const object::COFFObjectFile* o); 45*0a6a1f1dSLionel Sambuc void printMachOUnwindInfo(const object::MachOObjectFile* o); 46*0a6a1f1dSLionel Sambuc void printMachOExportsTrie(const object::MachOObjectFile* o); 47*0a6a1f1dSLionel Sambuc void printMachORebaseTable(const object::MachOObjectFile* o); 48*0a6a1f1dSLionel Sambuc void printMachOBindTable(const object::MachOObjectFile* o); 49*0a6a1f1dSLionel Sambuc void printMachOLazyBindTable(const object::MachOObjectFile* o); 50*0a6a1f1dSLionel Sambuc void printMachOWeakBindTable(const object::MachOObjectFile* o); 51f4a2713aSLionel Sambuc void printELFFileHeader(const object::ObjectFile *o); 52f4a2713aSLionel Sambuc void printCOFFFileHeader(const object::ObjectFile *o); 53*0a6a1f1dSLionel Sambuc void printMachOFileHeader(const object::ObjectFile *o); 54*0a6a1f1dSLionel Sambuc void printExportsTrie(const object::ObjectFile *o); 55*0a6a1f1dSLionel Sambuc void printRebaseTable(const object::ObjectFile *o); 56*0a6a1f1dSLionel Sambuc void printBindTable(const object::ObjectFile *o); 57*0a6a1f1dSLionel Sambuc void printLazyBindTable(const object::ObjectFile *o); 58*0a6a1f1dSLionel Sambuc void printWeakBindTable(const object::ObjectFile *o); 59f4a2713aSLionel Sambuc 60f4a2713aSLionel Sambuc } // end namespace llvm 61f4a2713aSLionel Sambuc 62f4a2713aSLionel Sambuc #endif 63