[llvm-commits] [llvm] r98205 - /llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp

Chris Lattner sabre at nondot.org
Wed Mar 10 16:06:20 PST 2010


Author: lattner
Date: Wed Mar 10 18:06:19 2010
New Revision: 98205

URL: http://llvm.org/viewvc/llvm-project?rev=98205&view=rev
Log:
Work around a bug in the openbsd assembler on i386,
which doesn't support .quad correctly because it is
"really really old".  PR6528.

Yet another reason the mc assembler should take over ;-)


Modified:
    llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp

Modified: llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp?rev=98205&r1=98204&r2=98205&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86MCAsmInfo.cpp Wed Mar 10 18:06:19 2010
@@ -70,7 +70,7 @@
   ExceptionsType = ExceptionHandling::Dwarf;
 }
 
-X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) {
+X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &T) {
   AsmTransCBE = x86_asm_table;
   AssemblerDialect = AsmWriterFlavor;
 
@@ -89,6 +89,11 @@
 
   // Exceptions handling
   ExceptionsType = ExceptionHandling::Dwarf;
+  
+  // OpenBSD has buggy support for .quad in 32-bit mode, just split into two
+  // .words.
+  if (T.getOS() == Triple::OpenBSD && T.getArch() == Triple::x86)
+    Data64bitsDirective = 0;
 }
 
 MCSection *X86ELFMCAsmInfo::getNonexecutableStackSection(MCContext &Ctx) const {





More information about the llvm-commits mailing list