Bug 90183 - can't build llint without dfg
Summary: can't build llint without dfg
Status: UNCONFIRMED
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: 2012-06-28 09:24 PDT by Tomeu Vizoso
Modified: 2013-06-26 08:24 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomeu Vizoso 2012-06-28 09:24:54 PDT
Building the Gtk+ port with JIT enabled but DFG disabled produces the following error:

/usr/bin/ld: error: Source/JavaScriptCore/llint/.libs/libjavascriptcoregtk_3_0_la-LLIntSlowPaths.o: requires dynamic R_X86_64_PC32 reloc against 'getHostCallReturnValue' which may overflow at runtime; recompile with -fPIC
../Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1302: warning: relocation refers to discarded section
/usr/bin/ld: error: hidden symbol 'getHostCallReturnValue' is not defined locally
../Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1325: warning: relocation refers to discarded section
/usr/bin/ld: error: hidden symbol 'getHostCallReturnValue' is not defined locally
../Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1456: warning: relocation refers to discarded section
/usr/bin/ld: error: hidden symbol 'getHostCallReturnValue' is not defined locally
collect2: error: ld returned 1 exit status

This is how the build was configured:

CPPFLAGS=-DENABLE_DFG_JIT=0 ../autogen.sh --disable-optimizations --enable-debug --enable-webgl
Comment 1 Andy Wingo 2012-07-04 03:27:48 PDT
I just tried a full webkit build with -DENABLE_DFG_JIT=0 and cannot reproduce this bug.  Perhaps I need to try a debugging build.
Comment 2 Andy Wingo 2012-07-04 03:39:19 PDT
OK, I can reproduce on a debug build of just JSC.
Comment 3 Andy Wingo 2012-07-04 06:54:36 PDT
I believe this is a gold bug.  I filed http://sourceware.org/bugzilla/show_bug.cgi?id=14330; we'll see what Ian says.
Comment 4 Simon Pena 2013-06-26 08:24:53 PDT
I talked to Tomeu and Andy, who hinted possible workarounds for this:

The env variable JSC_useDFGJIT=false can be used to disable DFG at runtime.
Or it can be set to false programmatically modifying Source/JavaScriptCore/runtime/Options.cpp