[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)
commit2bc93ca84606399da5ae5ac68c2140d5d2855adb
treefdb91ed61f6631483898fad400f79cc6d077bf32
parent1469b9196ce4394486371b39e9fa5d44975d3a29
[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.

llvm-svn: 239448
llvm/lib/CodeGen/AsmPrinter/WinException.cpp
llvm/lib/MC/WinCOFFStreamer.cpp
llvm/lib/Target/X86/X86WinEHState.cpp
llvm/test/CodeGen/X86/win32-eh-states.ll
llvm/test/CodeGen/X86/win32-eh.ll