summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/PECOFF/IdataPass.h
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/ReaderWriter/PECOFF/IdataPass.h')
-rw-r--r--lld/lib/ReaderWriter/PECOFF/IdataPass.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/IdataPass.h b/lld/lib/ReaderWriter/PECOFF/IdataPass.h
index efba5835e1d..70f882b489b 100644
--- a/lld/lib/ReaderWriter/PECOFF/IdataPass.h
+++ b/lld/lib/ReaderWriter/PECOFF/IdataPass.h
@@ -161,6 +161,20 @@ private:
}
};
+class DelayImportHModuleAtom : public IdataAtom {
+public:
+ explicit DelayImportHModuleAtom(IdataContext &context)
+ : IdataAtom(context, createContent(context.ctx)) {}
+ StringRef customSectionName() const override { return ".data"; }
+ ContentPermissions permissions() const override { return permRW_; }
+ Alignment alignment() const override { return Alignment(3); }
+
+private:
+ std::vector<uint8_t> createContent(const PECOFFLinkingContext &ctx) const {
+ return std::vector<uint8_t>(ctx.is64Bit() ? 8 : 4, 0);
+ }
+};
+
} // namespace idata
class IdataPass : public lld::Pass {
OpenPOWER on IntegriCloud