Bug 133293
Summary: | LowLevelInterpreter.cpp inline asm bug (incorrect .cfi_startproc usage causes compiler abort or incorrectly compiled code) | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jeremy Huddleston Sequoia <jeremyhu> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | CLOSED WORKSFORME | ||
Severity: | Normal | CC: | philip.chimento |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Jeremy Huddleston Sequoia
LowLevelInterpreter.cpp is failing to be compiled with recent clang. It was previously being compiled incorrectly.
The issue is that code like this is being omitted (in LLIntAssembly.h):
.section __TEXT,__text,regular,pure_instructions
## Start of file scope inline assembly
.cfi_startproc
.text
.globl _callToJavaScript
.private_extern _callToJavaScript
_callToJavaScript:
Note that .cfi_startproc precedes the definition of the symbol. That's not correct. It should be after the "_callToJavaScript:" line since that's the symbol it's associated with.
The compiler would previously associate that directive with the previously seen symbol, which is also not what this code wants.
If you have access, you can see <rdar://problem/16942469> for more information, but it was determined that this issue is not something that Apple is responsible for.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Philip Chimento
This occurs for me on WebKitGTK 2.4.x, but not on 2.6.x. (Quartz / Darwin / OSX 10.10)
Philip Chimento
I think actually Apple was responsible for it; in any case, it was fixed in the clang shipped with XCode 6.3. I think this bug can be closed.