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

            Bug ID: 23870
           Summary: clang crash when assembling load from .quad for
                    AArch32
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: ARM
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Created attachment 14481
  --> https://llvm.org/bugs/attachment.cgi?id=14481&action=edit
Commandline from crash report

The following assembly code causes a syserr in the llvm backend for ARMv8
AArch32

    ldr  r1, bar
...
.align 3
bar:
  .quad(symbol)

The pertinent information in the stack dump seems to be:

Unknown fixup kind!
UNREACHABLE executed at
.../llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp:326!
Then a stack dump.

Reproducer attached.

I think this is incorrect input as this assembly would probably load half of
the quadword into r1 (endianness dependent) which is probably not what the user
wants. Instead there should be some sort of graceful failure message as there
is no 64-bit relocation available.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to