summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Reader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/Reader.cpp')
-rw-r--r--lld/lib/ReaderWriter/ELF/Reader.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/lld/lib/ReaderWriter/ELF/Reader.cpp b/lld/lib/ReaderWriter/ELF/Reader.cpp
index 0acfe5cf3fd..4225a332cb1 100644
--- a/lld/lib/ReaderWriter/ELF/Reader.cpp
+++ b/lld/lib/ReaderWriter/ELF/Reader.cpp
@@ -21,7 +21,7 @@
#include "File.h"
#include "lld/Core/Reference.h"
-#include "lld/ReaderWriter/ELFTargetInfo.h"
+#include "lld/ReaderWriter/ELFLinkingContext.h"
#include "lld/ReaderWriter/ReaderArchive.h"
#include "llvm/ADT/ArrayRef.h"
@@ -53,7 +53,7 @@ struct DynamicFileCreateELFTraits {
typedef llvm::ErrorOr<std::unique_ptr<lld::SharedLibraryFile>> result_type;
template <class ELFT>
- static result_type create(const lld::ELFTargetInfo &ti,
+ static result_type create(const lld::ELFLinkingContext &ti,
std::unique_ptr<llvm::MemoryBuffer> mb) {
return lld::elf::DynamicFile<ELFT>::create(ti, std::move(mb));
}
@@ -63,7 +63,7 @@ struct ELFFileCreateELFTraits {
typedef std::unique_ptr<lld::File> result_type;
template <class ELFT>
- static result_type create(const lld::ELFTargetInfo &ti,
+ static result_type create(const lld::ELFLinkingContext &ti,
std::unique_ptr<llvm::MemoryBuffer> mb,
lld::error_code &ec) {
return std::unique_ptr<lld::File>(
@@ -78,12 +78,11 @@ namespace elf {
/// memory buffer for ELF class and bit width
class ELFReader : public Reader {
public:
- ELFReader(const ELFTargetInfo &ti)
- : lld::Reader(ti), _elfTargetInfo(ti), _readerArchive(ti, *this) {
- }
+ ELFReader(const ELFLinkingContext &ti)
+ : lld::Reader(ti), _elfLinkingContext(ti), _readerArchive(ti, *this) {}
error_code parseFile(std::unique_ptr<MemoryBuffer> &mb,
- std::vector<std::unique_ptr<File> > &result) const {
+ std::vector<std::unique_ptr<File>> &result) const {
using llvm::object::ELFType;
llvm::sys::fs::file_magic FileType =
llvm::sys::fs::identify_magic(mb->getBuffer());
@@ -95,7 +94,7 @@ public:
switch (FileType) {
case llvm::sys::fs::file_magic::elf_relocatable: {
std::unique_ptr<File> f(createELF<ELFFileCreateELFTraits>(
- getElfArchType(&*mb), MaxAlignment, _elfTargetInfo, std::move(mb),
+ getElfArchType(&*mb), MaxAlignment, _elfLinkingContext, std::move(mb),
ec));
if (ec)
return ec;
@@ -105,10 +104,11 @@ public:
case llvm::sys::fs::file_magic::elf_shared_object: {
// If the link doesnot allow dynamic libraries to be present during the
// link, lets not parse the file and just return
- if (!_elfTargetInfo.allowLinkWithDynamicLibraries())
+ if (!_elfLinkingContext.allowLinkWithDynamicLibraries())
return llvm::make_error_code(llvm::errc::executable_format_error);
auto f = createELF<DynamicFileCreateELFTraits>(
- getElfArchType(&*mb), MaxAlignment, _elfTargetInfo, std::move(mb));
+ getElfArchType(&*mb), MaxAlignment, _elfLinkingContext,
+ std::move(mb));
if (!f)
return f;
result.push_back(std::move(*f));
@@ -129,12 +129,12 @@ public:
}
private:
- const ELFTargetInfo &_elfTargetInfo;
+ const ELFLinkingContext &_elfLinkingContext;
ReaderArchive _readerArchive;
};
} // end namespace elf
-std::unique_ptr<Reader> createReaderELF(const ELFTargetInfo &targetinfo) {
- return std::unique_ptr<Reader>(new elf::ELFReader(targetinfo));
+std::unique_ptr<Reader> createReaderELF(const ELFLinkingContext &context) {
+ return std::unique_ptr<Reader>(new elf::ELFReader(context));
}
} // end namespace lld
OpenPOWER on IntegriCloud