]>
git.proxmox.com Git - rustc.git/blob - src/llvm/tools/llvm-objdump/llvm-objdump.h
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> Disassemble
;
30 extern cl::opt
<bool> NoShowRawInsn
;
31 extern cl::opt
<bool> PrivateHeaders
;
32 extern cl::opt
<bool> ExportsTrie
;
33 extern cl::opt
<bool> Rebase
;
34 extern cl::opt
<bool> Bind
;
35 extern cl::opt
<bool> LazyBind
;
36 extern cl::opt
<bool> WeakBind
;
37 extern cl::opt
<bool> UniversalHeaders
;
39 // Various helper functions.
40 bool error(std::error_code ec
);
41 bool RelocAddressLess(object::RelocationRef a
, object::RelocationRef b
);
42 void DumpBytes(StringRef bytes
);
43 void ParseInputMachO(StringRef Filename
);
44 void printCOFFUnwindInfo(const object::COFFObjectFile
* o
);
45 void printMachOUnwindInfo(const object::MachOObjectFile
* o
);
46 void printMachOExportsTrie(const object::MachOObjectFile
* o
);
47 void printMachORebaseTable(const object::MachOObjectFile
* o
);
48 void printMachOBindTable(const object::MachOObjectFile
* o
);
49 void printMachOLazyBindTable(const object::MachOObjectFile
* o
);
50 void printMachOWeakBindTable(const object::MachOObjectFile
* o
);
51 void printELFFileHeader(const object::ObjectFile
*o
);
52 void printCOFFFileHeader(const object::ObjectFile
*o
);
53 void printMachOFileHeader(const object::ObjectFile
*o
);
54 void printExportsTrie(const object::ObjectFile
*o
);
55 void printRebaseTable(const object::ObjectFile
*o
);
56 void printBindTable(const object::ObjectFile
*o
);
57 void printLazyBindTable(const object::ObjectFile
*o
);
58 void printWeakBindTable(const object::ObjectFile
*o
);
60 } // end namespace llvm