diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp index 835c4b396ef2fd6c1bc1d21dd3278d7258977644..016efc8a02eab2dcc1c2d03a8fa33e2a1239c356 100644 --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -1167,6 +1167,8 @@ void LinkerDriver::link(ArrayRef ArgsArr) { Symtab->addAbsolute(mangle("__guard_iat_table"), 0); Symtab->addAbsolute(mangle("__guard_longjmp_count"), 0); Symtab->addAbsolute(mangle("__guard_longjmp_table"), 0); + // Needed for MSVC 2017 15.5 CRT. + Symtab->addAbsolute(mangle("__enclave_config"), 0); // This code may add new undefined symbols to the link, which may enqueue more // symbol resolution tasks, so we need to continue executing tasks until we diff --git a/lld/test/COFF/guardcf.test b/lld/test/COFF/guardcf.test index 4f99d705301cc06eace07b1800d961ac49aae988..57dca5870d0fa70d524d8dc3b1de40422c132ec7 100644 --- a/lld/test/COFF/guardcf.test +++ b/lld/test/COFF/guardcf.test @@ -71,4 +71,10 @@ symbols: SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL + - Name: __enclave_config + Value: 0 + SectionNumber: 0 + SimpleType: IMAGE_SYM_TYPE_NULL + ComplexType: IMAGE_SYM_DTYPE_NULL + StorageClass: IMAGE_SYM_CLASS_EXTERNAL ...