[LLVMbugs] [Bug 5249] New: [Windows JIT]: All internal calls for 8-byte primitives broken on Windows

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Oct 19 07:32:08 PDT 2009


           Summary: [Windows JIT]: All internal calls for 8-byte primitives
                    broken on Windows
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P2
         Component: lli
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: eugeny.grishul at gmail.com
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=3674)
 --> (http://llvm.org/bugs/attachment.cgi?id=3674)

As I see all calls to internal functions ( like ___divdi3,___fixunssfdi, etc )
broken when them used with 8-byte primitives in 32-bit executable.

For attached test case llc produce following asm:
_getSomeInt:                                                ; @getSomeInt
; BB#0:
        sub     ESP, 20
        mov     EAX, DWORD PTR [ESP + 28]
        mov     DWORD PTR [ESP + 4], EAX
        mov     EAX, DWORD PTR [ESP + 24]
        mov     DWORD PTR [ESP], EAX
        mov     DWORD PTR [ESP + 12], 0
        mov     DWORD PTR [ESP + 8], 10
        call    ___divdi3
        add     ESP, 20

        ALIGN   16
        .globl  _main
_main:                                                      ; @main
; BB#0:
        sub     ESP, 12
        mov     DWORD PTR [ESP + 4], 0
        mov     DWORD PTR [ESP], 119
        call    _getSomeInt
        mov     DWORD PTR [ESP], EAX
        call    _putchar
        xor     EAX, EAX
        add     ESP, 12

lli crashed
test>lli test.bc
Stack dump:
0.      Program arguments: e:\external\llvm\\win64\bin\release\lli test.bc
00000000 (0x00000077 0x00000000 0x0000000A 0x00000000) <unknown module>

See following bugs ( I think them are realated ):

I'm using 64-bit Windows and 32-bit LLVM tools.

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