Bug 133293 - LowLevelInterpreter.cpp inline asm bug (incorrect .cfi_startproc usage causes compiler abort or incorrectly compiled code)
Summary: LowLevelInterpreter.cpp inline asm bug (incorrect .cfi_startproc usage causes...
Status: CLOSED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-05-26 17:06 PDT by Jeremy Huddleston Sequoia
Modified: 2016-01-03 22:56 PST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Huddleston Sequoia 2014-05-26 17:06:16 PDT
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.
Comment 1 Philip Chimento 2015-01-06 19:57:40 PST
This occurs for me on WebKitGTK 2.4.x, but not on 2.6.x. (Quartz / Darwin / OSX 10.10)
Comment 2 Philip Chimento 2015-05-03 17:05:04 PDT
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.