aboutsummaryrefslogtreecommitdiff
path: root/llvm/include/llvm/InterfaceStub/ELFStub.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/include/llvm/InterfaceStub/ELFStub.h')
-rw-r--r--llvm/include/llvm/InterfaceStub/ELFStub.h66
1 files changed, 0 insertions, 66 deletions
diff --git a/llvm/include/llvm/InterfaceStub/ELFStub.h b/llvm/include/llvm/InterfaceStub/ELFStub.h
deleted file mode 100644
index 7832c1c7413b..000000000000
--- a/llvm/include/llvm/InterfaceStub/ELFStub.h
+++ /dev/null
@@ -1,66 +0,0 @@
-//===- ELFStub.h ------------------------------------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===-----------------------------------------------------------------------===/
-///
-/// \file
-/// This file defines an internal representation of an ELF stub.
-///
-//===-----------------------------------------------------------------------===/
-
-#ifndef LLVM_TEXTAPI_ELF_ELFSTUB_H
-#define LLVM_TEXTAPI_ELF_ELFSTUB_H
-
-#include "llvm/BinaryFormat/ELF.h"
-#include "llvm/Support/VersionTuple.h"
-#include <set>
-#include <vector>
-
-namespace llvm {
-namespace elfabi {
-
-typedef uint16_t ELFArch;
-
-enum class ELFSymbolType {
- NoType = ELF::STT_NOTYPE,
- Object = ELF::STT_OBJECT,
- Func = ELF::STT_FUNC,
- TLS = ELF::STT_TLS,
-
- // Type information is 4 bits, so 16 is safely out of range.
- Unknown = 16,
-};
-
-struct ELFSymbol {
- ELFSymbol(std::string SymbolName) : Name(SymbolName) {}
- std::string Name;
- uint64_t Size;
- ELFSymbolType Type;
- bool Undefined;
- bool Weak;
- Optional<std::string> Warning;
- bool operator<(const ELFSymbol &RHS) const { return Name < RHS.Name; }
-};
-
-// A cumulative representation of ELF stubs.
-// Both textual and binary stubs will read into and write from this object.
-class ELFStub {
- // TODO: Add support for symbol versioning.
-public:
- VersionTuple TbeVersion;
- Optional<std::string> SoName;
- ELFArch Arch;
- std::vector<std::string> NeededLibs;
- std::set<ELFSymbol> Symbols;
-
- ELFStub() {}
- ELFStub(const ELFStub &Stub);
- ELFStub(ELFStub &&Stub);
-};
-} // end namespace elfabi
-} // end namespace llvm
-
-#endif // LLVM_TEXTAPI_ELF_ELFSTUB_H