blob: 9b6b1f341cf3a8bceef4df8ee4c24e66e4e93494 [file] [log] [blame]
Hubert Tong2f9d1532020-04-23 21:20:45 -04001//===-- ELFDump.h - ELF-specific dumper -------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_TOOLS_LLVM_OBJDUMP_ELFDUMP_H
10#define LLVM_TOOLS_LLVM_OBJDUMP_ELFDUMP_H
11
12#include "llvm/ADT/SmallVector.h"
13
14namespace llvm {
15
16class Error;
17
18namespace object {
19class ELFObjectFileBase;
20class ELFSectionRef;
21class ObjectFile;
22class RelocationRef;
23} // namespace object
24
25namespace objdump {
26
27Error getELFRelocationValueString(const object::ELFObjectFileBase *Obj,
28 const object::RelocationRef &Rel,
29 llvm::SmallVectorImpl<char> &Result);
30uint64_t getELFSectionLMA(const object::ELFSectionRef &Sec);
31
32void printELFFileHeader(const object::ObjectFile *O);
33void printELFDynamicSection(const object::ObjectFile *Obj);
34void printELFSymbolVersionInfo(const object::ObjectFile *Obj);
35
36} // namespace objdump
37} // namespace llvm
38
39#endif