mirror of
https://github.com/RPCS3/llvm.git
synced 2026-07-19 23:23:38 -04:00
[llvm-tapi] initial commit, supports ELF text stubs
http://lists.llvm.org/pipermail/llvm-dev/2018-September/126472.html TextAPI is a library and accompanying tool that allows conversion between binary shared object stubs and textual counterparts. The motivations and uses cases for this are explained thoroughly in the llvm-dev proposal [1]. This initial commit proposes a potential structure for the TAPI library, also including support for reading/writing text-based ELF stubs (.tbe) in addition to preliminary support for reading binary ELF files. The goal for this patch is to ensure the project architecture appropriately welcomes integration of Mach-O stubbing from Apple's TAPI [2]. Added: - TextAPI library - .tbe read support - .tbe write (to raw_ostream) support [1] http://lists.llvm.org/pipermail/llvm-dev/2018-September/126472.html [2] https://github.com/ributzka/tapi Differential Revision: https://reviews.llvm.org/D53051 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348170 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
//===- ELFStub.cpp --------------------------------------------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===-----------------------------------------------------------------------===/
|
||||
|
||||
#include "llvm/TextAPI/ELF/ELFStub.h"
|
||||
|
||||
using namespace llvm;
|
||||
using namespace llvm::elfabi;
|
||||
|
||||
ELFStub::ELFStub(ELFStub const &Stub) {
|
||||
TbeVersion = Stub.TbeVersion;
|
||||
Arch = Stub.Arch;
|
||||
SoName = Stub.SoName;
|
||||
NeededLibs = Stub.NeededLibs;
|
||||
Symbols = Stub.Symbols;
|
||||
}
|
||||
|
||||
ELFStub::ELFStub(ELFStub &&Stub) {
|
||||
TbeVersion = std::move(Stub.TbeVersion);
|
||||
Arch = std::move(Stub.Arch);
|
||||
SoName = std::move(Stub.SoName);
|
||||
NeededLibs = std::move(Stub.NeededLibs);
|
||||
Symbols = std::move(Stub.Symbols);
|
||||
}
|
||||
Reference in New Issue
Block a user