diff options
Diffstat (limited to 'lld')
| -rw-r--r-- | lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp | 4 | ||||
| -rw-r--r-- | lld/test/pecoff/pe32plus.test | 3 | ||||
| -rw-r--r-- | lld/test/pecoff/trivial.test | 3 |
3 files changed, 5 insertions, 5 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp index d9068a9a783..e519887d9e7 100644 --- a/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp +++ b/lld/lib/ReaderWriter/PECOFF/WriterPECOFF.cpp @@ -385,7 +385,9 @@ PEHeaderChunk<PEHeader>::PEHeaderChunk(const PECOFFLinkingContext &ctx) // executables and DLLs. We are not very sure if the following bits must // be set, but regular binaries seem to have these bits, so we follow // them. - uint16_t dllCharacteristics = llvm::COFF::IMAGE_DLL_CHARACTERISTICS_NO_SEH; + uint16_t dllCharacteristics = 0; + if (ctx.noSEH()) + dllCharacteristics |= llvm::COFF::IMAGE_DLL_CHARACTERISTICS_NO_SEH; if (ctx.isTerminalServerAware()) dllCharacteristics |= llvm::COFF::IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE; diff --git a/lld/test/pecoff/pe32plus.test b/lld/test/pecoff/pe32plus.test index f1bc39e8dcf..60f51b01303 100644 --- a/lld/test/pecoff/pe32plus.test +++ b/lld/test/pecoff/pe32plus.test @@ -39,9 +39,8 @@ CHECK-NEXT: MinorSubsystemVersion: 0 CHECK-NEXT: SizeOfImage: 12288 CHECK-NEXT: SizeOfHeaders: 512 CHECK-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3) -CHECK-NEXT: Subsystem [ (0x8540) +CHECK-NEXT: Subsystem [ (0x8140) CHECK-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40) -CHECK-NEXT: IMAGE_DLL_CHARACTERISTICS_NO_SEH (0x400) CHECK-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100) CHECK-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000) CHECK-NEXT: ] diff --git a/lld/test/pecoff/trivial.test b/lld/test/pecoff/trivial.test index 6f149d0b21b..9a849854f62 100644 --- a/lld/test/pecoff/trivial.test +++ b/lld/test/pecoff/trivial.test @@ -48,9 +48,8 @@ FILE-NEXT: MinorSubsystemVersion: 11 FILE-NEXT: SizeOfImage: 8192 FILE-NEXT: SizeOfHeaders: 512 FILE-NEXT: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3) -FILE-NEXT: Subsystem [ (0x8540) +FILE-NEXT: Subsystem [ (0x8140) FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE (0x40) -FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_NO_SEH (0x400) FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT (0x100) FILE-NEXT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE (0x8000) FILE-NEXT: ] |

