[LLVMbugs] [Bug 23087] New: Object emitter gets confused by global assembler

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 31 09:57:07 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=23087

            Bug ID: 23087
           Summary: Object emitter gets confused by global assembler
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
          Assignee: unassignedbugs at nondot.org
          Reporter: joerg at NetBSD.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Try to compile the following with clang, targetting ARM:

  asm (".align 4\n"
       ".globl co_switch_arm\n"
       ".globl _co_switch_arm\n"
       "co_switch_arm:\n"
       "_co_switch_arm:\n"
       "  stmia r1!, {r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}\n"
       "  ldmia r0!, {r4, r5, r6, r7, r8, r9, r10, r11, sp, pc}\n"     );

When going via assembler (i.e. -save-temps), it builds a working object file.
Direct emission results in an invalid binary, which crashes readelf from
binutils 2.23.2 or results in hangs in libbfd users.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150331/40492b1b/attachment.html>


More information about the llvm-bugs mailing list