blob: 3f756106c978f97fcb26a65ad6c62efacc98aefd [file] [log] [blame]
Eric Christopher76e70f32013-04-03 18:31:38 +00001//===-- llvm-readobj.h ----------------------------------------------------===//
Michael J. Spencerd326d052013-02-20 02:37:12 +00002//
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//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_TOOLS_READ_OBJ_H
11#define LLVM_TOOLS_READ_OBJ_H
12
Eric Christopher76e70f32013-04-03 18:31:38 +000013#include "llvm/Support/CommandLine.h"
14#include <string>
Michael J. Spencerd326d052013-02-20 02:37:12 +000015
16namespace llvm {
Eric Christopher76e70f32013-04-03 18:31:38 +000017 namespace object {
18 class RelocationRef;
19 }
Michael J. Spencerd326d052013-02-20 02:37:12 +000020
Eric Christopher76e70f32013-04-03 18:31:38 +000021 class error_code;
22
23 // Various helper functions.
24 bool error(error_code ec);
25 bool relocAddressLess(object::RelocationRef A,
26 object::RelocationRef B);
27} // namespace llvm
28
29namespace opts {
30 extern llvm::cl::list<std::string> InputFilenames;
31 extern llvm::cl::opt<bool> FileHeaders;
32 extern llvm::cl::opt<bool> Sections;
33 extern llvm::cl::opt<bool> SectionRelocations;
34 extern llvm::cl::opt<bool> SectionSymbols;
35 extern llvm::cl::opt<bool> SectionData;
36 extern llvm::cl::opt<bool> Relocations;
37 extern llvm::cl::opt<bool> Symbols;
38 extern llvm::cl::opt<bool> DynamicSymbols;
39 extern llvm::cl::opt<bool> UnwindInfo;
Nico Rieck1c8dfa52013-04-12 04:01:52 +000040 extern llvm::cl::opt<bool> ExpandRelocs;
Eric Christopher76e70f32013-04-03 18:31:38 +000041} // namespace opts
42
43#define LLVM_READOBJ_ENUM_ENT(ns, enum) \
44 { #enum, ns::enum }
Michael J. Spencerd326d052013-02-20 02:37:12 +000045
46#endif