diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-08 17:13:44 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-08 17:13:44 +0000 |
commit | fbe69f787ace06f44b6cb1bd3cd45ac703a16a05 (patch) | |
tree | 71baf2dfe04008283f87b4c0ae75a2268033cd62 /ELF/InputFiles.h | |
parent | d803cda42997f42649910309ac18170d2d6f2214 (diff) | |
download | src-fbe69f787ace06f44b6cb1bd3cd45ac703a16a05.tar.gz src-fbe69f787ace06f44b6cb1bd3cd45ac703a16a05.zip |
Vendor import of lld trunk r302418:vendor/lld/lld-trunk-r302418
Notes
Notes:
svn path=/vendor/lld/dist/; revision=317957
svn path=/vendor/lld/lld-trunk-r302418/; revision=317958; tag=vendor/lld/lld-trunk-r302418
Diffstat (limited to 'ELF/InputFiles.h')
-rw-r--r-- | ELF/InputFiles.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ELF/InputFiles.h b/ELF/InputFiles.h index d0a45a4a98cf..6daf26649859 100644 --- a/ELF/InputFiles.h +++ b/ELF/InputFiles.h @@ -219,7 +219,11 @@ private: // archive file semantics. class LazyObjectFile : public InputFile { public: - explicit LazyObjectFile(MemoryBufferRef M) : InputFile(LazyObjectKind, M) {} + LazyObjectFile(MemoryBufferRef M, StringRef ArchiveName, + uint64_t OffsetInArchive) + : InputFile(LazyObjectKind, M), OffsetInArchive(OffsetInArchive) { + this->ArchiveName = ArchiveName; + } static bool classof(const InputFile *F) { return F->kind() == LazyObjectKind; @@ -227,6 +231,7 @@ public: template <class ELFT> void parse(); MemoryBufferRef getBuffer(); + InputFile *fetch(); private: std::vector<StringRef> getSymbols(); @@ -234,12 +239,13 @@ private: std::vector<StringRef> getBitcodeSymbols(); bool Seen = false; + uint64_t OffsetInArchive; }; // An ArchiveFile object represents a .a file. class ArchiveFile : public InputFile { public: - explicit ArchiveFile(MemoryBufferRef M) : InputFile(ArchiveKind, M) {} + explicit ArchiveFile(std::unique_ptr<Archive> &&File); static bool classof(const InputFile *F) { return F->kind() == ArchiveKind; } template <class ELFT> void parse(); |