diff options
author | Tanya Lattner <tonic@nondot.org> | 2010-03-12 00:03:18 +0000 |
---|---|---|
committer | Tanya Lattner <tonic@nondot.org> | 2010-03-12 00:03:18 +0000 |
commit | c58daa2d510ac619b323e25e48ec42b5da7a3479 (patch) | |
tree | 238189a6f2785dcfe34756faefceba102723e692 | |
parent | 5b78ac5d8e7dd29605f32986cb8e7a788a1eeaad (diff) |
Merge 98205 from mainline.
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 ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_27@98309 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86MCAsmInfo.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/Target/X86/X86MCAsmInfo.cpp b/lib/Target/X86/X86MCAsmInfo.cpp index 250634fcb0..ded9717b3c 100644 --- a/lib/Target/X86/X86MCAsmInfo.cpp +++ b/lib/Target/X86/X86MCAsmInfo.cpp @@ -71,7 +71,7 @@ X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple) { AbsoluteEHSectionOffsets = false; } -X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) { +X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &T) { AsmTransCBE = x86_asm_table; AssemblerDialect = AsmWriterFlavor; @@ -91,6 +91,11 @@ X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) { // Exceptions handling ExceptionsType = ExceptionHandling::Dwarf; AbsoluteEHSectionOffsets = false; + + // 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 { |