diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-03-11 00:06:19 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-03-11 00:06:19 +0000 |
| commit | 963b233f2c34293862667ffae88749644a20e753 (patch) | |
| tree | 15ae702b0c721e0c5831160ba7e80abcc84d58f3 /llvm/lib | |
| parent | 4d941099035522ded975b6392a64fa9663af317e (diff) | |
| download | bcm5719-llvm-963b233f2c34293862667ffae88749644a20e753.tar.gz bcm5719-llvm-963b233f2c34293862667ffae88749644a20e753.zip | |
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 ;-)
llvm-svn: 98205
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86MCAsmInfo.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86MCAsmInfo.cpp b/llvm/lib/Target/X86/X86MCAsmInfo.cpp index 9498810b156..1afabc9d9c1 100644 --- a/llvm/lib/Target/X86/X86MCAsmInfo.cpp +++ b/llvm/lib/Target/X86/X86MCAsmInfo.cpp @@ -70,7 +70,7 @@ X86MCAsmInfoDarwin::X86MCAsmInfoDarwin(const Triple &Triple) { ExceptionsType = ExceptionHandling::Dwarf; } -X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) { +X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &T) { AsmTransCBE = x86_asm_table; AssemblerDialect = AsmWriterFlavor; @@ -89,6 +89,11 @@ X86ELFMCAsmInfo::X86ELFMCAsmInfo(const Triple &Triple) { // 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 { |

