blob: 496bad0f9cad11cbd281cf6e31947de7a35a1ea7 [file] [log] [blame]
Armando Montanez18952b82019-01-03 18:32:36 +00001//===- ELFObjHandler.h ------------------------------------------*- C++ -*-===//
2//
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/// This supports reading and writing of elf dynamic shared objects.
11///
12//===-----------------------------------------------------------------------===/
13
14#ifndef LLVM_TOOLS_ELFABI_ELFOBJHANDLER_H
15#define LLVM_TOOLS_ELFABI_ELFOBJHANDLER_H
16
17#include "llvm/Object/ELFObjectFile.h"
18#include "llvm/Object/ELFTypes.h"
19#include "llvm/TextAPI/ELF/ELFStub.h"
20
21namespace llvm {
22
23class MemoryBuffer;
24
25namespace elfabi {
26
27/// Attempt to read a binary ELF file from a MemoryBuffer.
28Expected<std::unique_ptr<ELFStub>> readELFFile(MemoryBufferRef Buf);
29
30} // end namespace elfabi
31} // end namespace llvm
32
33#endif // LLVM_TOOLS_ELFABI_ELFOBJHANDLER_H