summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h')
-rw-r--r--lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h b/lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h
index 40eadacba79..da843b97abc 100644
--- a/lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h
+++ b/lld/lib/ReaderWriter/ELF/ARM/ARMDynamicLibraryWriter.h
@@ -25,15 +25,22 @@ public:
protected:
// Add any runtime files and their atoms to the output
void createImplicitFiles(std::vector<std::unique_ptr<File>> &) override;
+
+private:
+ ARMLinkingContext &_ctx;
};
ARMDynamicLibraryWriter::ARMDynamicLibraryWriter(ARMLinkingContext &ctx,
ARMTargetLayout &layout)
- : ARMELFWriter(ctx, layout) {}
+ : ARMELFWriter(ctx, layout), _ctx(ctx) {}
void ARMDynamicLibraryWriter::createImplicitFiles(
std::vector<std::unique_ptr<File>> &result) {
DynamicLibraryWriter::createImplicitFiles(result);
+ auto file = llvm::make_unique<RuntimeFile<ELF32LE>>(_ctx, "ARM dynamic file");
+ file->addAbsoluteAtom(gotSymbol);
+ file->addAbsoluteAtom(dynamicSymbol);
+ result.push_back(std::move(file));
}
} // namespace elf
OpenPOWER on IntegriCloud