[WinEH] Emit .safeseh directives for all 32-bit exception handlers
authorReid Kleckner <reid@kleckner.net>
Wed, 10 Jun 2015 01:02:30 +0000 (01:02 +0000)
committerReid Kleckner <reid@kleckner.net>
Wed, 10 Jun 2015 01:02:30 +0000 (01:02 +0000)
commitc8e72e912627d9276b3cf7c43169d565a0f5a74e
tree7da3c8e167777c0a4de8ccf6058cbc392165ceed
parenta8c0a9b0429f83b2ec64ef828c89af49e6511cd1
[WinEH] Emit .safeseh directives for all 32-bit exception handlers

Use a "safeseh" string attribute to do this. You would think we chould
just accumulate the set of personalities like we do on dwarf, but this
fails to account for the LSDA-loading thunks we use for
__CxxFrameHandler3. Each of those needs to make it into .sxdata as well.
The string attribute seemed like the most straightforward approach.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239448 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/WinException.cpp
lib/MC/WinCOFFStreamer.cpp
lib/Target/X86/X86WinEHState.cpp
test/CodeGen/X86/win32-eh-states.ll
test/CodeGen/X86/win32-eh.ll