[prev in list] [next in list] [prev in thread] [next in thread]
List: llvm-bugs
Subject: [LLVMbugs] [Bug 4275] New: Wrong code generated by JIT with
From: bugzilla-daemon () cs ! uiuc ! edu
Date: 2009-05-27 8:16:10
Message-ID: bug-4275-206 () http ! llvm ! org/bugs/
[Download RAW message or body]
http://llvm.org/bugs/show_bug.cgi?id=4275
Summary: Wrong code generated by JIT with --enable-pic on Linux
x86
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: unassignedbugs@nondot.org
ReportedBy: Dr.Graef@t-online.de
CC: llvmbugs@cs.uiuc.edu
If LLVM is compiled with --enable-pic (as is the default with current svn
sources), the JIT creates an improper call sequence via PLT. This only affects
Linux x86 systems, x86-64 works fine.
The symptom is a segfault in X86CompilationCallback2@plt(), see, e.g.,
http://code.google.com/p/pure-lang/issues/detail?id=9 for a detailed bug report
related to this issue.
Remark by Anton Korobeynikov on the llvmdev mailing list:
<quote>
The problem is pretty easy: nobody cared about loading GOT pointer to
ebx before doing a call via PLT. The initial patch for this was x86-64
only (and I explicitly mentioned that it won't work on x86-32 due to
this issue). Unfortunately, it was commited as-is and later when PIC
was enabled by default this subtle bug appeared...
The proper solution will be to conditionalize for x86-32 linux and
assemble a proper call sequence via PLT.
</quote>
Anton suggested that I should file a bug report, so there.
--
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.
_______________________________________________
LLVMbugs mailing list
LLVMbugs@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic