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
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.
OK, I can reproduce on a debug build of just JSC.
I believe this is a gold bug. I filed http://sourceware.org/bugzilla/show_bug.cgi?id=14330; we'll see what Ian says.
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