summaryrefslogtreecommitdiffstats
path: root/lld/COFF/Writer.cpp
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2018-05-31 13:43:02 +0000
committerNico Weber <nicolasweber@gmx.de>2018-05-31 13:43:02 +0000
commitd657c2564980cb4ad763c49bf5181c1311824085 (patch)
treecb04f381b3e607a2edb0bcb07621a666dee73a07 /lld/COFF/Writer.cpp
parentca5a16f1310e9821e370fc8e89ce78285d346782 (diff)
downloadbcm5719-llvm-d657c2564980cb4ad763c49bf5181c1311824085.tar.gz
bcm5719-llvm-d657c2564980cb4ad763c49bf5181c1311824085.zip
lld-link: Implement /INTEGRITYCHECK flag
/INTEGRITYCHECK has the effect of setting IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY. Fixes PR31066. https://reviews.llvm.org/D47472 llvm-svn: 333652
Diffstat (limited to 'lld/COFF/Writer.cpp')
-rw-r--r--lld/COFF/Writer.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lld/COFF/Writer.cpp b/lld/COFF/Writer.cpp
index 857067178f9..dff87c5009f 100644
--- a/lld/COFF/Writer.cpp
+++ b/lld/COFF/Writer.cpp
@@ -849,6 +849,8 @@ template <typename PEHeaderTy> void Writer::writeHeader() {
PE->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION;
if (Config->GuardCF != GuardCFLevel::Off)
PE->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_GUARD_CF;
+ if (Config->IntegrityCheck)
+ PE->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY;
if (SetNoSEHCharacteristic)
PE->DLLCharacteristics |= IMAGE_DLL_CHARACTERISTICS_NO_SEH;
if (Config->TerminalServerAware)
OpenPOWER on IntegriCloud