#include "obj2yaml.h"
#include "llvm/BinaryFormat/Magic.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/Minidump.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/ToolOutputFile.h"
#include "llvm/Support/WithColor.h"
usingnamespacellvm;
usingnamespacellvm::object;
static cl::OptionCategory Cat("obj2yaml Options");
static cl::opt<std::string>
InputFilename(cl::Positional, cl::desc("<input file>"), cl::init("-"));
static cl::opt<std::string> OutputFilename("o", cl::desc("Output filename"),
cl::value_desc("filename"),
cl::init("-"), cl::Prefix,
cl::cat(Cat));
static cl::bits<RawSegments> RawSegment(
"raw-segment",
cl::desc("Mach-O: dump the raw contents of the listed segments instead of "
"parsing them:"),
cl::values(clEnumVal(data, "__DATA"), clEnumVal(linkedit, "__LINKEDIT")),
cl::cat(Cat));
static Error dumpObject(const ObjectFile &Obj, raw_ostream &OS) { … }
static Error dumpInput(StringRef File, raw_ostream &OS) { … }
static void reportError(StringRef Input, Error Err) { … }
int main(int argc, char *argv[]) { … }