2011-09-20 01:56:04 +08:00
|
|
|
//===-- llvm-objdump.h ----------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
|
2014-08-14 00:26:38 +08:00
|
|
|
#ifndef LLVM_TOOLS_LLVM_OBJDUMP_LLVM_OBJDUMP_H
|
|
|
|
#define LLVM_TOOLS_LLVM_OBJDUMP_LLVM_OBJDUMP_H
|
2011-09-20 01:56:04 +08:00
|
|
|
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
|
|
#include "llvm/Support/CommandLine.h"
|
|
|
|
#include "llvm/Support/DataTypes.h"
|
|
|
|
|
|
|
|
namespace llvm {
|
2012-12-06 04:12:35 +08:00
|
|
|
namespace object {
|
|
|
|
class COFFObjectFile;
|
2014-08-01 21:07:19 +08:00
|
|
|
class MachOObjectFile;
|
2013-01-06 11:56:49 +08:00
|
|
|
class ObjectFile;
|
2012-12-06 04:12:35 +08:00
|
|
|
class RelocationRef;
|
|
|
|
}
|
|
|
|
|
2011-09-20 01:56:04 +08:00
|
|
|
extern cl::opt<std::string> TripleName;
|
|
|
|
extern cl::opt<std::string> ArchName;
|
2014-08-07 07:24:41 +08:00
|
|
|
extern cl::opt<std::string> MCPU;
|
|
|
|
extern cl::list<std::string> MAttrs;
|
2014-09-25 07:08:22 +08:00
|
|
|
extern cl::opt<bool> NoShowRawInsn;
|
2011-09-20 01:56:04 +08:00
|
|
|
|
|
|
|
// Various helper functions.
|
2014-06-13 09:25:41 +08:00
|
|
|
bool error(std::error_code ec);
|
2012-12-06 04:12:35 +08:00
|
|
|
bool RelocAddressLess(object::RelocationRef a, object::RelocationRef b);
|
2011-09-20 01:56:04 +08:00
|
|
|
void DumpBytes(StringRef bytes);
|
|
|
|
void DisassembleInputMachO(StringRef Filename);
|
2012-12-06 04:12:35 +08:00
|
|
|
void printCOFFUnwindInfo(const object::COFFObjectFile* o);
|
2014-08-01 21:07:19 +08:00
|
|
|
void printMachOUnwindInfo(const object::MachOObjectFile* o);
|
2014-08-30 08:20:14 +08:00
|
|
|
void printMachOExportsTrie(const object::MachOObjectFile* o);
|
2014-09-13 05:34:15 +08:00
|
|
|
void printMachORebaseTable(const object::MachOObjectFile* o);
|
2014-09-16 09:41:51 +08:00
|
|
|
void printMachOBindTable(const object::MachOObjectFile* o);
|
|
|
|
void printMachOLazyBindTable(const object::MachOObjectFile* o);
|
|
|
|
void printMachOWeakBindTable(const object::MachOObjectFile* o);
|
2013-01-06 11:56:49 +08:00
|
|
|
void printELFFileHeader(const object::ObjectFile *o);
|
2013-09-28 05:04:00 +08:00
|
|
|
void printCOFFFileHeader(const object::ObjectFile *o);
|
2014-08-23 04:35:18 +08:00
|
|
|
void printMachOFileHeader(const object::ObjectFile *o);
|
2011-09-20 01:56:04 +08:00
|
|
|
|
2013-09-28 05:04:00 +08:00
|
|
|
} // end namespace llvm
|
2011-09-20 01:56:04 +08:00
|
|
|
|
|
|
|
#endif
|