<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[192469] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/192469">192469</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2015-11-16 05:02:00 -0800 (Mon, 16 Nov 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>[GTK] Use FTL by default when LLVM 3.7 is available
https://bugs.webkit.org/show_bug.cgi?id=142128

Reviewed by Csaba Osztrogonác.

.:

Enable FTL by default when architecture is X86_64. It requires
LLVM 3.7, but can be disabled manually as a cmake configure
argument.

* Source/cmake/FindLLVM.cmake: In debian llvm-config is only
available if the metapackage is installed and it points to
llvm-config-3.5. So, here we check first if the llvm-config is
from a recent enough version, and if not we check several
llvm-config-&lt;version&gt; programs, so this should work on any distro.
* Source/cmake/OptionsGTK.cmake: Enable FTL by default when
target architecture is X86_64, and check the LLVM is at least
3.7. The option is now public, since we want people to be able to
disable it manually.

Source/JavaScriptCore:

* PlatformGTK.cmake: Install libllvmForJSC.so.
* llvm/InitializeLLVMLinux.cpp:
(JSC::getLLVMInitializerFunction): For developer build try to load first
libllvmForJSC.so from standard paths since not installed binaries
have the RPATH set. If it fails try the installed one. For
production buils load always the installed one.

Tools:

* Scripts/run-javascriptcore-tests: Enable FTL for GTK+ port when
architecture is x86_64.
* Scripts/update-webkit-libs-jhbuild:
(cleanJhbuild): Remove also the separate Build directory used by
GTK+ port now.
* Scripts/webkitdirs.pm:
(isX86_64):
* Scripts/webkitperl/FeatureList.pm: Enable FTL by default for
GTK+ port when architecture is x86_64.
* gtk/jhbuild-optional.modules: Remove llvm.
* gtk/jhbuild.modules: Add llvm 3.7 and include it as dependecy
only when architecture is x86_64.
* gtk/jhbuildrc: Set a buildroot to use a separate build
directory. LLVM 3.7 fails to build if configure script is run from
source dir. Since it's not possible to use a separate build dir
only for llvm, we do it now globally. Modules not supporting non
source build dirs are marked in the moduleset. Also set x86_64
condition when the architecture is x86_64.
* gtk/patches/llvm-elf-add-stackmaps-arm64.patch: Removed.
* gtk/patches/llvm-elf-add-stackmaps.patch: Removed.
* gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch: Removed.
* gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Removed.
* jhbuild/jhbuild-wrapper: Use a newer jhbuild version to be able
to use conditions.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkChangeLog">trunk/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCorePlatformGTKcmake">trunk/Source/JavaScriptCore/PlatformGTK.cmake</a></li>
<li><a href="#trunkSourceJavaScriptCorellvmInitializeLLVMLinuxcpp">trunk/Source/JavaScriptCore/llvm/InitializeLLVMLinux.cpp</a></li>
<li><a href="#trunkSourcecmakeFindLLVMcmake">trunk/Source/cmake/FindLLVM.cmake</a></li>
<li><a href="#trunkSourcecmakeOptionsGTKcmake">trunk/Source/cmake/OptionsGTK.cmake</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsScriptsrunjavascriptcoretests">trunk/Tools/Scripts/run-javascriptcore-tests</a></li>
<li><a href="#trunkToolsScriptsupdatewebkitlibsjhbuild">trunk/Tools/Scripts/update-webkit-libs-jhbuild</a></li>
<li><a href="#trunkToolsScriptswebkitdirspm">trunk/Tools/Scripts/webkitdirs.pm</a></li>
<li><a href="#trunkToolsScriptswebkitperlFeatureListpm">trunk/Tools/Scripts/webkitperl/FeatureList.pm</a></li>
<li><a href="#trunkToolsgtkjhbuildoptionalmodules">trunk/Tools/gtk/jhbuild-optional.modules</a></li>
<li><a href="#trunkToolsgtkjhbuildmodules">trunk/Tools/gtk/jhbuild.modules</a></li>
<li><a href="#trunkToolsgtkjhbuildrc">trunk/Tools/gtk/jhbuildrc</a></li>
<li><a href="#trunkToolsjhbuildjhbuildwrapper">trunk/Tools/jhbuild/jhbuild-wrapper</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkToolsgtkpatchesllvmelfaddstackmapsarm64patch">trunk/Tools/gtk/patches/llvm-elf-add-stackmaps-arm64.patch</a></li>
<li><a href="#trunkToolsgtkpatchesllvmelfaddstackmapspatch">trunk/Tools/gtk/patches/llvm-elf-add-stackmaps.patch</a></li>
<li><a href="#trunkToolsgtkpatchesllvmelfallowfdereferencesoutsidethe2gbrangearm64patch">trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch</a></li>
<li><a href="#trunkToolsgtkpatchesllvmelfallowfdereferencesoutsidethe2gbrangepatch">trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/ChangeLog (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/ChangeLog        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/ChangeLog        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2015-11-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        [GTK] Use FTL by default when LLVM 3.7 is available
+        https://bugs.webkit.org/show_bug.cgi?id=142128
+
+        Reviewed by Csaba Osztrogonác.
+
+        Enable FTL by default when architecture is X86_64. It requires
+        LLVM 3.7, but can be disabled manually as a cmake configure
+        argument.
+
+        * Source/cmake/FindLLVM.cmake: In debian llvm-config is only
+        available if the metapackage is installed and it points to
+        llvm-config-3.5. So, here we check first if the llvm-config is
+        from a recent enough version, and if not we check several
+        llvm-config-&lt;version&gt; programs, so this should work on any distro.
+        * Source/cmake/OptionsGTK.cmake: Enable FTL by default when
+        target architecture is X86_64, and check the LLVM is at least
+        3.7. The option is now public, since we want people to be able to
+        disable it manually.
+
</ins><span class="cx"> 2015-11-11  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Enable cross-platform context menus by default
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Source/JavaScriptCore/ChangeLog        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2015-11-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        [GTK] Use FTL by default when LLVM 3.7 is available
+        https://bugs.webkit.org/show_bug.cgi?id=142128
+
+        Reviewed by Csaba Osztrogonác.
+
+        * PlatformGTK.cmake: Install libllvmForJSC.so.
+        * llvm/InitializeLLVMLinux.cpp:
+        (JSC::getLLVMInitializerFunction): For developer build try to load first
+        libllvmForJSC.so from standard paths since not installed binaries
+        have the RPATH set. If it fails try the installed one. For
+        production buils load always the installed one.
+
</ins><span class="cx"> 2015-11-15  Saam barati  &lt;sbarati@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         64-bit in the DFG: non tail Calls unnecessarily store the argument count twice on the callee frame and tails calls unnecessarily store it once
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorePlatformGTKcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/PlatformGTK.cmake (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/PlatformGTK.cmake        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Source/JavaScriptCore/PlatformGTK.cmake        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -38,7 +38,14 @@
</span><span class="cx">     )
</span><span class="cx"> endif ()
</span><span class="cx"> 
</span><ins>+if (ENABLE_FTL_JIT)
+    install(TARGETS llvmForJSC
+            DESTINATION &quot;${LIB_INSTALL_DIR}/javascriptcoregtk-${WEBKITGTK_API_VERSION}&quot;
+    )
+endif ()
+
</ins><span class="cx"> add_definitions(-DSTATICALLY_LINKED_WITH_WTF)
</span><ins>+add_definitions(-DLIBDIR=&quot;${LIB_INSTALL_DIR}&quot;)
</ins><span class="cx"> 
</span><span class="cx"> list(APPEND JavaScriptCore_LIBRARIES
</span><span class="cx">     ${GLIB_LIBRARIES}
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellvmInitializeLLVMLinuxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llvm/InitializeLLVMLinux.cpp (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llvm/InitializeLLVMLinux.cpp        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Source/JavaScriptCore/llvm/InitializeLLVMLinux.cpp        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -32,11 +32,26 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InitializeLLVMPOSIX.h&quot;
</span><span class="cx"> 
</span><ins>+#if PLATFORM(GTK)
+#include &lt;wtf/glib/GUniquePtr.h&gt;
+#endif
+
</ins><span class="cx"> namespace JSC {
</span><span class="cx"> 
</span><span class="cx"> LLVMInitializerFunction getLLVMInitializerFunction(bool verbose)
</span><span class="cx"> {
</span><ins>+#if PLATFORM(GTK)
+#if ENABLE(DEVELOPER_MODE)
+    LLVMInitializerFunction function = getLLVMInitializerFunctionPOSIX(&quot;libllvmForJSC.so&quot;, verbose);
+    if (function)
+        return function;
+#endif
+    static const char* libllvmForJSCInstalledPath = LIBDIR G_DIR_SEPARATOR_S &quot;javascriptcoregtk-&quot; WEBKITGTK_API_VERSION_STRING G_DIR_SEPARATOR_S;
+    GUniquePtr&lt;char&gt; libllvmForJSCFilename(g_build_filename(libllvmForJSCInstalledPath, &quot;libllvmForJSC.so&quot;, nullptr));
+    return getLLVMInitializerFunctionPOSIX(libllvmForJSCFilename.get(), verbose);
+#else
</ins><span class="cx">     return getLLVMInitializerFunctionPOSIX(&quot;libllvmForJSC.so&quot;, verbose);
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourcecmakeFindLLVMcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/FindLLVM.cmake (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/FindLLVM.cmake        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Source/cmake/FindLLVM.cmake        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -7,9 +7,19 @@
</span><span class="cx"> #  LLVM_INCLUDE_DIRS - include directories for the llvm headers.
</span><span class="cx"> #  LLVM_STATIC_LIBRARIES - list of paths for the static llvm libraries.
</span><span class="cx"> 
</span><del>-find_program(LLVM_CONFIG_EXE NAMES &quot;llvm-config&quot;)
</del><span class="cx"> 
</span><del>-execute_process(COMMAND ${LLVM_CONFIG_EXE} --version OUTPUT_VARIABLE LLVM_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
</del><ins>+foreach (_program_name llvm-config llvm-config-3.7 llvm-config-3.6 llvm-config-3.5)
+    find_program(LLVM_CONFIG_EXE NAMES ${_program_name})
+    if (LLVM_CONFIG_EXE)
+        execute_process(COMMAND ${LLVM_CONFIG_EXE} --version OUTPUT_VARIABLE LLVM_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+        if (&quot;${LLVM_VERSION}&quot; VERSION_LESS &quot;${LLVM_FIND_VERSION}&quot;)
+            unset(LLVM_CONFIG_EXE CACHE)
+        else ()
+            break ()
+        endif ()
+    endif ()
+endforeach ()
+
</ins><span class="cx"> execute_process(COMMAND ${LLVM_CONFIG_EXE} --includedir OUTPUT_VARIABLE LLVM_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
</span><span class="cx"> execute_process(COMMAND ${LLVM_CONFIG_EXE} --libfiles OUTPUT_VARIABLE LLVM_STATIC_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE)
</span><span class="cx"> execute_process(COMMAND ${LLVM_CONFIG_EXE} --system-libs OUTPUT_VARIABLE LLVM_SYSTEM_LIBRARIES OUTPUT_STRIP_TRAILING_WHITESPACE)
</span></span></pre></div>
<a id="trunkSourcecmakeOptionsGTKcmake"></a>
<div class="modfile"><h4>Modified: trunk/Source/cmake/OptionsGTK.cmake (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/cmake/OptionsGTK.cmake        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Source/cmake/OptionsGTK.cmake        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -66,6 +66,12 @@
</span><span class="cx">     set(ENABLE_GLES2_DEFAULT ON)
</span><span class="cx"> endif ()
</span><span class="cx"> 
</span><ins>+if (WTF_CPU_X86_64)
+    set(ENABLE_FTL_DEFAULT ON)
+else ()
+    set(ENABLE_FTL_DEFAULT OFF)
+endif ()
+
</ins><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_GLES2 &quot;Whether to enable OpenGL ES 2.0.&quot; PUBLIC ${ENABLE_GLES2_DEFAULT})
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_GTKDOC &quot;Whether or not to use generate gtkdoc.&quot; PUBLIC OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFINE(ENABLE_INTROSPECTION &quot;Whether to enable GObject introspection.&quot; PUBLIC ON)
</span><span class="lines">@@ -119,6 +125,7 @@
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ACCELERATED_2D_CANVAS PUBLIC OFF)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_CREDENTIAL_STORAGE PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_DRAG_SUPPORT PUBLIC ON)
</span><ins>+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTL_JIT PUBLIC ${ENABLE_FTL_DEFAULT})
</ins><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GEOLOCATION PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ICONDATABASE PUBLIC ON)
</span><span class="cx"> WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PUBLIC ON)
</span><span class="lines">@@ -248,11 +255,15 @@
</span><span class="cx"> endif ()
</span><span class="cx"> 
</span><span class="cx"> if (ENABLE_FTL_JIT)
</span><del>-    find_package(LLVM)
-    if (NOT LLVM_FOUND)
-        message(FATAL_ERROR &quot;LLVM is needed for ENABLE_FTL_JIT&quot;)
</del><ins>+    if (WTF_CPU_X86_64)
+        find_package(LLVM 3.7)
+        if (NOT LLVM_FOUND)
+            message(FATAL_ERROR &quot;LLVM 3.7 is required for ENABLE_FTL_JIT&quot;)
+        endif ()
+        SET_AND_EXPOSE_TO_BUILD(HAVE_LLVM TRUE)
+    else ()
+        message(FATAL_ERROR &quot;FTL is only supported for X86_64&quot;)
</ins><span class="cx">     endif ()
</span><del>-    SET_AND_EXPOSE_TO_BUILD(HAVE_LLVM TRUE)
</del><span class="cx"> endif ()
</span><span class="cx"> 
</span><span class="cx"> if (ENABLE_GAMEPAD_DEPRECATED)
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/ChangeLog        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,3 +1,35 @@
</span><ins>+2015-11-16  Carlos Garcia Campos  &lt;cgarcia@igalia.com&gt;
+
+        [GTK] Use FTL by default when LLVM 3.7 is available
+        https://bugs.webkit.org/show_bug.cgi?id=142128
+
+        Reviewed by Csaba Osztrogonác.
+
+        * Scripts/run-javascriptcore-tests: Enable FTL for GTK+ port when
+        architecture is x86_64.
+        * Scripts/update-webkit-libs-jhbuild:
+        (cleanJhbuild): Remove also the separate Build directory used by
+        GTK+ port now.
+        * Scripts/webkitdirs.pm:
+        (isX86_64):
+        * Scripts/webkitperl/FeatureList.pm: Enable FTL by default for
+        GTK+ port when architecture is x86_64.
+        * gtk/jhbuild-optional.modules: Remove llvm.
+        * gtk/jhbuild.modules: Add llvm 3.7 and include it as dependecy
+        only when architecture is x86_64.
+        * gtk/jhbuildrc: Set a buildroot to use a separate build
+        directory. LLVM 3.7 fails to build if configure script is run from
+        source dir. Since it's not possible to use a separate build dir
+        only for llvm, we do it now globally. Modules not supporting non
+        source build dirs are marked in the moduleset. Also set x86_64
+        condition when the architecture is x86_64.
+        * gtk/patches/llvm-elf-add-stackmaps-arm64.patch: Removed.
+        * gtk/patches/llvm-elf-add-stackmaps.patch: Removed.
+        * gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch: Removed.
+        * gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch: Removed.
+        * jhbuild/jhbuild-wrapper: Use a newer jhbuild version to be able
+        to use conditions.
+
</ins><span class="cx"> 2015-11-15  Commit Queue  &lt;commit-queue@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Unreviewed, rolling out r192462.
</span></span></pre></div>
<a id="trunkToolsScriptsrunjavascriptcoretests"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/run-javascriptcore-tests (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/run-javascriptcore-tests        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/Scripts/run-javascriptcore-tests        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> my $gmallocPath = undef;
</span><span class="cx"> my $gmallocDefaultPath = &quot;/usr/lib/libgmalloc.dylib&quot;;
</span><span class="cx"> 
</span><del>-my $enableFTL = isAppleMacWebKit();
</del><ins>+my $enableFTL = isAppleMacWebKit() || (isGtk() &amp;&amp; isX86_64());
</ins><span class="cx"> my $createTarball = 0;
</span><span class="cx"> my $remoteHost = 0;
</span><span class="cx"> my $remoteConfigFile;
</span></span></pre></div>
<a id="trunkToolsScriptsupdatewebkitlibsjhbuild"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/update-webkit-libs-jhbuild (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/update-webkit-libs-jhbuild        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/Scripts/update-webkit-libs-jhbuild        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -122,6 +122,11 @@
</span><span class="cx">     if (system(&quot;rm -rf $jhbuildPath/Source&quot;) ne 0) {
</span><span class="cx">         die &quot;Cleaning jhbuild sources failed!&quot;;
</span><span class="cx">     }
</span><ins>+
+    if (isGtk()) {
+        # GTK+ uses a separate build directory.
+        system(&quot;rm -rf $jhbuildPath/Build&quot;);
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> delete $ENV{AR_FLAGS} if exists $ENV{AR_FLAGS};
</span></span></pre></div>
<a id="trunkToolsScriptswebkitdirspm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitdirs.pm (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitdirs.pm        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/Scripts/webkitdirs.pm        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1157,6 +1157,11 @@
</span><span class="cx">     return ($Config{archname} =~ /^arm[v\-]/) || ($Config{archname} =~ /^aarch64[v\-]/);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+sub isX86_64()
+{
+    return (architecture() eq &quot;x86_64&quot;) || 0;
+}
+
</ins><span class="cx"> sub isCrossCompilation()
</span><span class="cx"> {
</span><span class="cx">   my $compiler = &quot;&quot;;
</span></span></pre></div>
<a id="trunkToolsScriptswebkitperlFeatureListpm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/Scripts/webkitperl/FeatureList.pm (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/Scripts/webkitperl/FeatureList.pm        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/Scripts/webkitperl/FeatureList.pm        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -458,7 +458,7 @@
</span><span class="cx">       define =&gt; &quot;ENABLE_XSLT&quot;, default =&gt; 1, value =&gt; \$xsltSupport },
</span><span class="cx"> 
</span><span class="cx">     { option =&gt; &quot;ftl-jit&quot;, desc =&gt; &quot;Toggle FTLJIT support&quot;,
</span><del>-      define =&gt; &quot;ENABLE_FTL_JIT&quot;, default =&gt; 0, value =&gt; \$ftlJITSupport },
</del><ins>+      define =&gt; &quot;ENABLE_FTL_JIT&quot;, default =&gt; (isGtk() &amp;&amp; isX86_64()), value =&gt; \$ftlJITSupport },
</ins><span class="cx"> );
</span><span class="cx"> 
</span><span class="cx"> sub getFeatureOptionList()
</span></span></pre></div>
<a id="trunkToolsgtkjhbuildoptionalmodules"></a>
<div class="modfile"><h4>Modified: trunk/Tools/gtk/jhbuild-optional.modules (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/jhbuild-optional.modules        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/jhbuild-optional.modules        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -9,8 +9,6 @@
</span><span class="cx"> 
</span><span class="cx">   &lt;repository type=&quot;tarball&quot; name=&quot;ftp.gnome.org&quot;
</span><span class="cx">       href=&quot;http://ftp.gnome.org&quot;/&gt;
</span><del>-  &lt;repository type=&quot;tarball&quot; name=&quot;llvm.org&quot;
-      href=&quot;http://llvm.org&quot;/&gt;
</del><span class="cx"> 
</span><span class="cx">   &lt;autotools id=&quot;libsecret&quot; autogen-sh=&quot;configure&quot;&gt;
</span><span class="cx">     &lt;branch repo=&quot;ftp.gnome.org&quot;
</span><span class="lines">@@ -44,16 +42,4 @@
</span><span class="cx">     &lt;/dependencies&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;llvm&quot;
-             autogenargs=&quot;--enable-optimized --disable-terminfo --disable-zlib --enable-targets=host --disable-backtraces --disable-crash-overrides --disable-expensive-checks --disable-debug-runtime --disable-assertions --enable-shared&quot;&gt;
-    &lt;branch repo=&quot;llvm.org&quot;
-            module=&quot;/releases/3.5.0/llvm-3.5.0.src.tar.xz&quot; version=&quot;3.5.0&quot; checkoutdir=&quot;llvm-3.5.0&quot;
-            hash=&quot;sha256:28e199f368ef0a4666708f31c7991ad3bcc3a578342b0306526dd35f07595c03&quot;&gt;
-      &lt;patch file=&quot;llvm-elf-allow-fde-references-outside-the-2gb-range.patch&quot; strip=&quot;1&quot;/&gt;
-      &lt;patch file=&quot;llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch&quot; strip=&quot;1&quot;/&gt;
-      &lt;patch file=&quot;llvm-elf-add-stackmaps.patch&quot; strip=&quot;1&quot;/&gt;
-      &lt;patch file=&quot;llvm-elf-add-stackmaps-arm64.patch&quot; strip=&quot;1&quot;/&gt;
-    &lt;/branch&gt;
-  &lt;/autotools&gt;
-
</del><span class="cx"> &lt;/moduleset&gt;
</span></span></pre></div>
<a id="trunkToolsgtkjhbuildmodules"></a>
<div class="modfile"><h4>Modified: trunk/Tools/gtk/jhbuild.modules (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/jhbuild.modules        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/jhbuild.modules        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -33,6 +33,9 @@
</span><span class="cx">       &lt;dep package=&quot;mesa&quot;/&gt;
</span><span class="cx">       &lt;dep package=&quot;openwebrtc&quot;/&gt;
</span><span class="cx">       &lt;dep package=&quot;libseccomp&quot;/&gt;
</span><ins>+      &lt;if condition-set=&quot;x86_64&quot;&gt;
+        &lt;dep package=&quot;llvm&quot;/&gt;
+      &lt;/if&gt;
</ins><span class="cx">     &lt;/dependencies&gt;
</span><span class="cx">   &lt;/metamodule&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -63,6 +66,8 @@
</span><span class="cx">       href=&quot;http://anongit.freedesktop.org/git&quot;/&gt;
</span><span class="cx">   &lt;repository type=&quot;tarball&quot; name=&quot;people.freedesktop.org&quot;
</span><span class="cx">       href=&quot;http://people.freedesktop.org&quot;/&gt;
</span><ins>+  &lt;repository type=&quot;tarball&quot; name=&quot;llvm.org&quot;
+      href=&quot;http://llvm.org&quot;/&gt;
</ins><span class="cx"> 
</span><span class="cx">   &lt;autotools id=&quot;cairo&quot;
</span><span class="cx">              autogenargs=&quot;--enable-gl=yes --enable-egl=yes --enable-glx=yes ac_cv_func_rsvg_pixbuf_from_file=no&quot;
</span><span class="lines">@@ -86,12 +91,12 @@
</span><span class="cx">     &lt;/branch&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;fonts&quot;
</del><ins>+  &lt;autotools id=&quot;fonts&quot; supports-non-srcdir-builds=&quot;no&quot;
</ins><span class="cx">              skip-autogen=&quot;true&quot;&gt;
</span><span class="cx">     &lt;branch repo=&quot;github.com&quot; module=&quot;mrobinson/webkitgtk-test-fonts.git&quot; checkoutdir=&quot;webkitgtk-test-fonts&quot; tag=&quot;0.0.5&quot;/&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;dicts&quot;
</del><ins>+  &lt;autotools id=&quot;dicts&quot; supports-non-srcdir-builds=&quot;no&quot;
</ins><span class="cx">              skip-autogen=&quot;true&quot;&gt;
</span><span class="cx">     &lt;branch repo=&quot;github.com&quot; module=&quot;mrobinson/webkitgtk-test-dicts.git&quot; checkoutdir=&quot;webkitgtk-test-dicts&quot; tag=&quot;0.0.1&quot;/&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="lines">@@ -122,7 +127,7 @@
</span><span class="cx">              md5sum=&quot;f5898b29bbfd70502831a212d9249d10&quot;/&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;libseccomp&quot; autogen-sh=&quot;./autogen.sh; ./configure&quot;&gt;
</del><ins>+  &lt;autotools id=&quot;libseccomp&quot; supports-non-srcdir-builds=&quot;no&quot; autogen-sh=&quot;./autogen.sh; ./configure&quot;&gt;
</ins><span class="cx">     &lt;branch repo=&quot;github.com&quot; module=&quot;seccomp/libseccomp.git&quot; tag=&quot;v2.2.3&quot;/&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -222,7 +227,7 @@
</span><span class="cx">     &lt;/branch&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;gnome-icon-theme-symbolic&quot; autogen-sh=&quot;configure&quot;&gt;
</del><ins>+  &lt;autotools id=&quot;gnome-icon-theme-symbolic&quot; supports-non-srcdir-builds=&quot;no&quot; autogen-sh=&quot;configure&quot;&gt;
</ins><span class="cx">     &lt;dependencies&gt;
</span><span class="cx">       &lt;dep package=&quot;gtk+&quot;/&gt;
</span><span class="cx">     &lt;/dependencies&gt;
</span><span class="lines">@@ -275,7 +280,7 @@
</span><span class="cx">     &lt;/dependencies&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;libxml2&quot;
</del><ins>+  &lt;autotools id=&quot;libxml2&quot; supports-non-srcdir-builds=&quot;no&quot;
</ins><span class="cx">              autogen-sh=&quot;./autogen.sh; ./configure --with-python=no&quot;&gt;
</span><span class="cx">     &lt;branch module=&quot;/sources/libxml2-2.9.1.tar.gz&quot; version=&quot;2.9.1&quot;
</span><span class="cx">             repo=&quot;xmlsoft.org&quot;
</span><span class="lines">@@ -371,11 +376,11 @@
</span><span class="cx">     &lt;/branch&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-  &lt;autotools id=&quot;libusrsctp&quot; autogen-sh=&quot;./bootstrap; ./configure --disable-warnings-as-errors&quot;&gt;
</del><ins>+  &lt;autotools id=&quot;libusrsctp&quot; supports-non-srcdir-builds=&quot;no&quot; autogen-sh=&quot;./bootstrap; ./configure --disable-warnings-as-errors&quot;&gt;
</ins><span class="cx">     &lt;branch repo=&quot;github.com&quot; module=&quot;sctplab/usrsctp.git&quot; checkoutdir=&quot;usrsctp&quot; tag=&quot;078ff3252f73327e0ac11d6fd5eff62011f6646e&quot;/&gt;
</span><span class="cx">    &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-   &lt;autotools id=&quot;gst-plugins-openwebrtc&quot; supports-parallel-builds=&quot;no&quot; autogen-sh=&quot;./autogen.sh; ./configure&quot;&gt;
</del><ins>+   &lt;autotools id=&quot;gst-plugins-openwebrtc&quot; supports-parallel-builds=&quot;no&quot; supports-non-srcdir-builds=&quot;no&quot; autogen-sh=&quot;./autogen.sh; ./configure&quot;&gt;
</ins><span class="cx">      &lt;dependencies&gt;
</span><span class="cx">        &lt;dep package=&quot;gst-plugins-base&quot;/&gt;
</span><span class="cx">        &lt;dep package=&quot;libusrsctp&quot;/&gt;
</span><span class="lines">@@ -383,7 +388,7 @@
</span><span class="cx">     &lt;branch repo=&quot;github.com&quot; module=&quot;EricssonResearch/openwebrtc-gst-plugins.git&quot; checkoutdir=&quot;gst-plugins-openwebrtc&quot; tag=&quot;e359b67484af90f416ea35e301205d2b53c77a14&quot;/&gt;
</span><span class="cx">    &lt;/autotools&gt;
</span><span class="cx"> 
</span><del>-   &lt;autotools id=&quot;libnice&quot;&gt;
</del><ins>+   &lt;autotools id=&quot;libnice&quot; supports-non-srcdir-builds=&quot;no&quot;&gt;
</ins><span class="cx">     &lt;dependencies&gt;
</span><span class="cx">       &lt;dep package=&quot;gstreamer&quot;/&gt;
</span><span class="cx">     &lt;/dependencies&gt;
</span><span class="lines">@@ -398,6 +403,13 @@
</span><span class="cx">     &lt;branch repo=&quot;github.com&quot; module=&quot;EricssonResearch/openwebrtc.git&quot; checkoutdir=&quot;openwebrtc&quot; tag=&quot;13516c7f79a0c48bb411464f7613d4b426c70f5b&quot;/&gt;
</span><span class="cx">   &lt;/autotools&gt;
</span><span class="cx"> 
</span><ins>+  &lt;autotools id=&quot;llvm&quot;
+             autogenargs=&quot;--enable-optimized --disable-terminfo --disable-zlib --enable-targets=host --disable-backtraces --disable-crash-overrides --disable-expensive-checks --disable-debug-runtime --disable-assertions --enable-shared&quot;&gt;
+    &lt;branch repo=&quot;llvm.org&quot;
+            module=&quot;/releases/3.7.0/llvm-3.7.0.src.tar.xz&quot; version=&quot;3.7.0&quot; checkoutdir=&quot;llvm-3.7.0&quot;
+            hash=&quot;sha256:ab45895f9dcdad1e140a3a79fd709f64b05ad7364e308c0e582c5b02e9cc3153&quot;/&gt;
+  &lt;/autotools&gt;
+
</ins><span class="cx">   &lt;!-- Dependencies listed below this point are not thought to affect test results, and are only
</span><span class="cx">        included because they themselves depend on other dependencies built by jhbuild. --&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsgtkjhbuildrc"></a>
<div class="modfile"><h4>Modified: trunk/Tools/gtk/jhbuildrc (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/jhbuildrc        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/jhbuildrc        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -17,6 +17,7 @@
</span><span class="cx"> 
</span><span class="cx"> import sys
</span><span class="cx"> import os
</span><ins>+import platform
</ins><span class="cx"> 
</span><span class="cx"> sys.path.insert(0, os.path.join(os.path.dirname(__file__), &quot;../jhbuild&quot;) )
</span><span class="cx"> import jhbuildrc_common
</span><span class="lines">@@ -33,7 +34,14 @@
</span><span class="cx"> # annotations sooner rather than later.
</span><span class="cx"> autogenargs='--enable-introspection'
</span><span class="cx"> 
</span><ins>+# LLVM requires that builddir != srcdir, and it's not possible to do that in jhbuild only
+# for a module, so we do it here globally since it's a good idea for all other modules as well.
+buildroot = os.path.join(os.path.dirname(checkoutroot), &quot;Build&quot;)
+
</ins><span class="cx"> if use_lib64:
</span><span class="cx">     os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(checkoutroot, 'Mesa', 'lib64', 'gallium'))
</span><span class="cx"> else:
</span><span class="cx">     os.environ['LLVMPIPE_LIBGL_PATH'] = os.path.abspath(os.path.join(checkoutroot, 'Mesa', 'lib', 'gallium'))
</span><ins>+
+if 'x86_64' in platform.machine():
+    conditions.add('x86_64')
</ins></span></pre></div>
<a id="trunkToolsgtkpatchesllvmelfaddstackmapsarm64patch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/llvm-elf-add-stackmaps-arm64.patch (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/llvm-elf-add-stackmaps-arm64.patch        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/patches/llvm-elf-add-stackmaps-arm64.patch        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,13 +0,0 @@
</span><del>-diff --git a/lib/Target/AArch64/AArch64AsmPrinter.cpp b/lib/Target/AArch64/AArch64AsmPrinter.cpp
-index 8bee4f5..bfbbaac 100644
---- a/lib/Target/AArch64/AArch64AsmPrinter.cpp
-+++ b/lib/Target/AArch64/AArch64AsmPrinter.cpp
-@@ -154,6 +154,8 @@ void AArch64AsmPrinter::EmitEndOfAsmFile(Module &amp;M) {
-       }
-       Stubs.clear();
-     }
-+
-+    SM.serializeToStackMapSection();
-   }

- }
</del></span></pre></div>
<a id="trunkToolsgtkpatchesllvmelfaddstackmapspatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/llvm-elf-add-stackmaps.patch (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/llvm-elf-add-stackmaps.patch        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/patches/llvm-elf-add-stackmaps.patch        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-commit ec9de4677ac61f2164d7c80cae5da0008189efa3
-Author: Philip Reames &lt;listmail@philipreames.com&gt;
-Date:   Fri Aug 1 18:47:09 2014 +0000
-
-    Add support for StackMap section for ELF/Linux systems
-    
-    This patch adds code to emits the StackMap section on ELF systems. This section is required to support llvm.experimental.stackmap and llvm.experimental.patchpoint intrinsics.
-    
-    Reviewers: ributzka, echristo
-    
-    Differential Revision: http://reviews.llvm.org/D4574
-    
-    
-    
-    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214538 91177308-0d34-0410-b5e6-96231b3b80d8
-
-diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
-index df5787c..da707d8 100644
---- a/lib/MC/MCObjectFileInfo.cpp
-+++ b/lib/MC/MCObjectFileInfo.cpp
-@@ -583,6 +583,12 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
-   DwarfAddrSection =
-     Ctx-&gt;getELFSection(&quot;.debug_addr&quot;, ELF::SHT_PROGBITS, 0,
-                        SectionKind::getMetadata());
-+
-+  StackMapSection =
-+    Ctx-&gt;getELFSection(&quot;.llvm_stackmaps&quot;, ELF::SHT_PROGBITS,
-+                       ELF::SHF_ALLOC,
-+                       SectionKind::getMetadata());
-+
- }


-diff --git a/lib/Target/X86/X86AsmPrinter.cpp b/lib/Target/X86/X86AsmPrinter.cpp
-index 3c22e88..fc0d408 100644
---- a/lib/Target/X86/X86AsmPrinter.cpp
-+++ b/lib/Target/X86/X86AsmPrinter.cpp
-@@ -736,6 +736,8 @@ void X86AsmPrinter::EmitEndOfAsmFile(Module &amp;M) {
-       }
-       Stubs.clear();
-     }
-+
-+    SM.serializeToStackMapSection();
-   }
- }

</del></span></pre></div>
<a id="trunkToolsgtkpatchesllvmelfallowfdereferencesoutsidethe2gbrangearm64patch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,23 +0,0 @@
</span><del>-
-diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
-index 7886ab6..96929e5 100644
---- a/lib/MC/MCObjectFileInfo.cpp
-+++ b/lib/MC/MCObjectFileInfo.cpp
-@@ -284,6 +284,17 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
-         ? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
-     }
-     break;
-+  case Triple::aarch64:
-+    if (RelocM == Reloc::PIC_) {
-+      FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
-+        ((CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
-+         ? dwarf::DW_EH_PE_sdata4 : dwarf::DW_EH_PE_sdata8);
-+    } else {
-+      FDECFIEncoding =
-+        (CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
-+        ? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
-+    }
-+    break;
-   default:
-     FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
-     break;
</del></span></pre></div>
<a id="trunkToolsgtkpatchesllvmelfallowfdereferencesoutsidethe2gbrangepatch"></a>
<div class="delfile"><h4>Deleted: trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range.patch        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -1,281 +0,0 @@
</span><del>-commit 21bcdeb1d65b4be0d716693f3dcabd2e8a7c6386
-Author: Joerg Sonnenberger &lt;joerg@bec.de&gt;
-Date:   Tue Nov 25 13:37:55 2014 +0000
-
-    Reapply 222538 and update tests to explicitly request small code model
-    and PIC:
-    
-    Allow FDE references outside the +/-2GB range supported by PC relative
-    offsets for code models other than small/medium. For JIT application,
-    memory layout is less controlled and can result in truncations
-    otherwise.
-    
-    Patch from Akos Kiss.
-    
-    Differential Revision: http://reviews.llvm.org/D6079
-    
-    
-    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222760 91177308-0d34-0410-b5e6-96231b3b80d8
-
-diff --git a/lib/MC/MCObjectFileInfo.cpp b/lib/MC/MCObjectFileInfo.cpp
-index 7886ab6..96929e5 100644
---- a/lib/MC/MCObjectFileInfo.cpp
-+++ b/lib/MC/MCObjectFileInfo.cpp
-@@ -273,6 +273,17 @@ void MCObjectFileInfo::InitELFMCObjectFileInfo(Triple T) {
-   case Triple::mips64el:
-     FDECFIEncoding = dwarf::DW_EH_PE_sdata8;
-     break;
-+  case Triple::x86_64:
-+    if (RelocM == Reloc::PIC_) {
-+      FDECFIEncoding = dwarf::DW_EH_PE_pcrel |
-+        ((CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
-+         ? dwarf::DW_EH_PE_sdata4 : dwarf::DW_EH_PE_sdata8);
-+    } else {
-+      FDECFIEncoding =
-+        (CMModel == CodeModel::Small || CMModel == CodeModel::Medium)
-+        ? dwarf::DW_EH_PE_udata4 : dwarf::DW_EH_PE_absptr;
-+    }
-+    break;
-   default:
-     FDECFIEncoding = dwarf::DW_EH_PE_pcrel | dwarf::DW_EH_PE_sdata4;
-     break;
-diff --git a/test/MC/ELF/cfi-adjust-cfa-offset.s b/test/MC/ELF/cfi-adjust-cfa-offset.s
-index 9d639f7..f31a6b0 100644
---- a/test/MC/ELF/cfi-adjust-cfa-offset.s
-+++ b/test/MC/ELF/cfi-adjust-cfa-offset.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-advance-loc2.s b/test/MC/ELF/cfi-advance-loc2.s
-index 98caa018..c11ccaf 100644
---- a/test/MC/ELF/cfi-advance-loc2.s
-+++ b/test/MC/ELF/cfi-advance-loc2.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- // test that this produces a correctly encoded cfi_advance_loc2

-diff --git a/test/MC/ELF/cfi-def-cfa-offset.s b/test/MC/ELF/cfi-def-cfa-offset.s
-index 59f7400..93158ce 100644
---- a/test/MC/ELF/cfi-def-cfa-offset.s
-+++ b/test/MC/ELF/cfi-def-cfa-offset.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-def-cfa-register.s b/test/MC/ELF/cfi-def-cfa-register.s
-index 178ba32..8c55053 100644
---- a/test/MC/ELF/cfi-def-cfa-register.s
-+++ b/test/MC/ELF/cfi-def-cfa-register.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-def-cfa.s b/test/MC/ELF/cfi-def-cfa.s
-index dfb0d4b..f0b4934 100644
---- a/test/MC/ELF/cfi-def-cfa.s
-+++ b/test/MC/ELF/cfi-def-cfa.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-escape.s b/test/MC/ELF/cfi-escape.s
-index 5394ee4..3b76746 100644
---- a/test/MC/ELF/cfi-escape.s
-+++ b/test/MC/ELF/cfi-escape.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-offset.s b/test/MC/ELF/cfi-offset.s
-index a65b4fc..02f31ba 100644
---- a/test/MC/ELF/cfi-offset.s
-+++ b/test/MC/ELF/cfi-offset.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-register.s b/test/MC/ELF/cfi-register.s
-index 9441770..3433bef 100644
---- a/test/MC/ELF/cfi-register.s
-+++ b/test/MC/ELF/cfi-register.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-rel-offset.s b/test/MC/ELF/cfi-rel-offset.s
-index 0dc69c8..f51b2d3 100644
---- a/test/MC/ELF/cfi-rel-offset.s
-+++ b/test/MC/ELF/cfi-rel-offset.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-rel-offset2.s b/test/MC/ELF/cfi-rel-offset2.s
-index 360e7b0..0ce8d03 100644
---- a/test/MC/ELF/cfi-rel-offset2.s
-+++ b/test/MC/ELF/cfi-rel-offset2.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-remember.s b/test/MC/ELF/cfi-remember.s
-index 3a38948..c98695a 100644
---- a/test/MC/ELF/cfi-remember.s
-+++ b/test/MC/ELF/cfi-remember.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-restore.s b/test/MC/ELF/cfi-restore.s
-index e225797..99a74e7 100644
---- a/test/MC/ELF/cfi-restore.s
-+++ b/test/MC/ELF/cfi-restore.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-same-value.s b/test/MC/ELF/cfi-same-value.s
-index 2d37f4d..b7329d1 100644
---- a/test/MC/ELF/cfi-same-value.s
-+++ b/test/MC/ELF/cfi-same-value.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-signal-frame.s b/test/MC/ELF/cfi-signal-frame.s
-index 98deb0a..9558d7b 100644
---- a/test/MC/ELF/cfi-signal-frame.s
-+++ b/test/MC/ELF/cfi-signal-frame.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-undefined.s b/test/MC/ELF/cfi-undefined.s
-index 568b315..09000c9 100644
---- a/test/MC/ELF/cfi-undefined.s
-+++ b/test/MC/ELF/cfi-undefined.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f:
-         .cfi_startproc
-diff --git a/test/MC/ELF/cfi-window-save.s b/test/MC/ELF/cfi-window-save.s
-index b083901..dd20164 100644
---- a/test/MC/ELF/cfi-window-save.s
-+++ b/test/MC/ELF/cfi-window-save.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- # Should use SPARC as the target to test this. However, SPARC does not
- # use MC yet.
-diff --git a/test/MC/ELF/cfi-zero-addr-delta.s b/test/MC/ELF/cfi-zero-addr-delta.s
-index 8662839..61118ec 100644
---- a/test/MC/ELF/cfi-zero-addr-delta.s
-+++ b/test/MC/ELF/cfi-zero-addr-delta.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- // Test that we don't produce a DW_CFA_advance_loc 0

-diff --git a/test/MC/ELF/cfi.s b/test/MC/ELF/cfi.s
-index 21be615..42b0189 100644
---- a/test/MC/ELF/cfi.s
-+++ b/test/MC/ELF/cfi.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr -sd | FileCheck %s
-+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -s -sr -sd | FileCheck %s

- f1:
-         .cfi_startproc
-diff --git a/test/MC/ELF/pr19430.s b/test/MC/ELF/pr19430.s
-index a1e5246..528193d 100644
---- a/test/MC/ELF/pr19430.s
-+++ b/test/MC/ELF/pr19430.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s
-+// RUN: llvm-mc -triple x86_64-pc-linux-gnu %s -filetype=obj -o - \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-readobj -r | FileCheck %s

- // Test that we can use .cfi_startproc without a global symbol.

-diff --git a/test/MC/X86/fde-reloc.s b/test/MC/X86/fde-reloc.s
-index 63ac976..9b5de15 100644
---- a/test/MC/X86/fde-reloc.s
-+++ b/test/MC/X86/fde-reloc.s
-@@ -1,4 +1,6 @@
--// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
-+// RUN: llvm-mc -filetype=obj %s -o - -triple x86_64-pc-linux \
-+// RUN: -relocation-model=pic -code-model=small \
-+// RUN: | llvm-objdump -r - | FileCheck --check-prefix=X86-64 %s
- // RUN: llvm-mc -filetype=obj %s -o - -triple i686-pc-linux | llvm-objdump -r - | FileCheck --check-prefix=I686 %s

- // PR15448
</del></span></pre></div>
<a id="trunkToolsjhbuildjhbuildwrapper"></a>
<div class="modfile"><h4>Modified: trunk/Tools/jhbuild/jhbuild-wrapper (192468 => 192469)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/jhbuild/jhbuild-wrapper        2015-11-16 11:00:53 UTC (rev 192468)
+++ trunk/Tools/jhbuild/jhbuild-wrapper        2015-11-16 13:02:00 UTC (rev 192469)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx"> import subprocess
</span><span class="cx"> import sys
</span><span class="cx"> 
</span><del>-jhbuild_revision = 'c0cb46177d79189ffe0f760703c732f1c7ea8b29'
</del><ins>+jhbuild_revision = '3.12.0'
</ins><span class="cx"> 
</span><span class="cx"> def determine_platform():
</span><span class="cx">     if '--efl' in sys.argv:
</span></span></pre>
</div>
</div>

</body>
</html>