]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/blob - tools/llvm-objdump/llvm-objdump.h
[llvm-objdump] for mach-o add -bind, -lazy-bind, and -weak-bind options
[opencl/llvm.git] / tools / llvm-objdump / llvm-objdump.h
1 //===-- llvm-objdump.h ----------------------------------------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
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"
16 #include "llvm/Support/StringRefMemoryObject.h"
18 namespace llvm {
19 namespace object {
20   class COFFObjectFile;
21   class MachOObjectFile;
22   class ObjectFile;
23   class RelocationRef;
24 }
26 extern cl::opt<std::string> TripleName;
27 extern cl::opt<std::string> ArchName;
28 extern cl::opt<std::string> MCPU;
29 extern cl::list<std::string> MAttrs;
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
49 #endif