
This is a patch to add capability to llvm-objdump to dump COFF Import Table entries, so that we can write tests for LLD checking Import Table contents. llvm-objdump did not print anything but just file name if the format is COFF and -private-headers option is given. This is a patch adds capability for dumping DLL Import Table, which is specific to the COFF format. In this patch I defined a new iterator to iterate over import table entries. Also added a few functions to COFFObjectFile.cpp to access fields of the entry. Differential Revision: http://llvm-reviews.chandlerc.com/D1719 llvm-svn: 191472
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
//===-- llvm-objdump.h ----------------------------------------------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_OBJDUMP_H
|
|
#define LLVM_OBJDUMP_H
|
|
|
|
#include "llvm/ADT/StringRef.h"
|
|
#include "llvm/Support/CommandLine.h"
|
|
#include "llvm/Support/DataTypes.h"
|
|
#include "llvm/Support/StringRefMemoryObject.h"
|
|
|
|
namespace llvm {
|
|
|
|
namespace object {
|
|
class COFFObjectFile;
|
|
class ObjectFile;
|
|
class RelocationRef;
|
|
}
|
|
class error_code;
|
|
|
|
extern cl::opt<std::string> TripleName;
|
|
extern cl::opt<std::string> ArchName;
|
|
|
|
// Various helper functions.
|
|
bool error(error_code ec);
|
|
bool RelocAddressLess(object::RelocationRef a, object::RelocationRef b);
|
|
void DumpBytes(StringRef bytes);
|
|
void DisassembleInputMachO(StringRef Filename);
|
|
void printCOFFUnwindInfo(const object::COFFObjectFile* o);
|
|
void printELFFileHeader(const object::ObjectFile *o);
|
|
void printCOFFFileHeader(const object::ObjectFile *o);
|
|
|
|
} // end namespace llvm
|
|
|
|
#endif
|