[LLVMbugs] [Bug 10568] New: [MC] x86_64 and relocations with large addend

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Aug 2 09:12:37 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10568

           Summary: [MC] x86_64 and relocations with large addend
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: joerg at NetBSD.org
                CC: llvmbugs at cs.uiuc.edu


Consider the following input:

L: movq $(L + 2147483648),%rax

This triggers the 32bit signed integer assertion in ELFObjectWriter.cpp, line
1627.

gas produces:
000000000003  00010000000b R_X86_64_32S      0000000000000000 .text + 80000000

as relocation, which makes sense. R_X86_64_32S is the largest width supported
as immediate by mov. The addend is a 64bit signed quantity and only the sum of
real location of L and addend have to fit into 32bit.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list