[llvm] r238730 - [WinCOFF] Ignore .safeseh for non-x86 architectures

David Majnemer david.majnemer at gmail.com
Mon Jun 1 00:34:27 PDT 2015


Author: majnemer
Date: Mon Jun  1 02:34:26 2015
New Revision: 238730

URL: http://llvm.org/viewvc/llvm-project?rev=238730&view=rev
Log:
[WinCOFF] Ignore .safeseh for non-x86 architectures

We don't want to bother with creating .sxdata sections on Win64; all the
relevant information is already in the .pdata section.

Modified:
    llvm/trunk/lib/MC/WinCOFFStreamer.cpp

Modified: llvm/trunk/lib/MC/WinCOFFStreamer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/WinCOFFStreamer.cpp?rev=238730&r1=238729&r2=238730&view=diff
==============================================================================
--- llvm/trunk/lib/MC/WinCOFFStreamer.cpp (original)
+++ llvm/trunk/lib/MC/WinCOFFStreamer.cpp Mon Jun  1 02:34:26 2015
@@ -159,6 +159,12 @@ void MCWinCOFFStreamer::EndCOFFSymbolDef
 }
 
 void MCWinCOFFStreamer::EmitCOFFSafeSEH(MCSymbol const *Symbol) {
+  // SafeSEH is a feature specific to 32-bit x86.  It does not exist (and is
+  // unnecessary) on all platforms which use table-based exception dispatch.
+  if (getContext().getObjectFileInfo()->getTargetTriple().getArch() !=
+      Triple::x86)
+    return;
+
   if (Symbol->getFlags() & COFF::SF_SafeSEH)
     return;
 





More information about the llvm-commits mailing list