<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Infinite loop in resolveRelocationList on AArch64"
   href="https://llvm.org/bugs/show_bug.cgi?id=23430">23430</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Infinite loop in resolveRelocationList on AArch64
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.6
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Generic Execution Engine Support
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>oszi@inf.u-szeged.hu
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvmbugs@cs.uiuc.edu
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>WebKit's JavaScript engine uses LLVM to optimize/generate native code if FTL
JIT is enabled. But it stucks in an infinite loop inside LLVM on AArch64.
It works fine with LLVM 3.5, but got this infinite loop with 3.6.

How to reproduce the bug (on a Juno board on Ubuntu 14.04):
- clone WebKit: git clone git://git.webkit.org/WebKit.git WebKit
- apply a patch to use LLVM 3.6 (not 3.5 which is the default on ARM).
  ( <a href="https://bugs.webkit.org/show_bug.cgi?id=143821">https://bugs.webkit.org/show_bug.cgi?id=143821</a> )
- install dependencies: sudo Tools/efl/install-dependencies
- build other dependencies: Tools/Scripts/update-webkitefl-libs
- build LLVM 3.6: Tools/Scripts/update-webkitefl-libs llvm-3.6
- build the JavaScriptCore: Tools/Scripts/build-jsc --efl --ftl-jit
- execute the tests: Tools/Scripts/run-javascriptcore-tests --efl --ftl-jit
(It can be reproduced on each test, I'll send a simple command soon.)

gdb backtrace:
#0  0x000000200718fc08 in
llvm::RuntimeDyldELF::resolveAArch64Relocation(llvm::SectionEntry const&,
unsigned long, unsigned long, unsigned int, long) () from
/home/oszi/jsc-tests/jsc-stress-results/.vm/JavaScriptCore.framework/Resources/libllvmForJSC.so
#1  0x0000002007184bb4 in
llvm::RuntimeDyldImpl::resolveRelocationList(llvm::SmallVector<llvm::RelocationEntry,
64u> const&, unsigned long)
    () from
/home/oszi/jsc-tests/jsc-stress-results/.vm/JavaScriptCore.framework/Resources/libllvmForJSC.so
#2  0x0000002007184bb4 in
llvm::RuntimeDyldImpl::resolveRelocationList(llvm::SmallVector<llvm::RelocationEntry,
64u> const&, unsigned long)
    () from
/home/oszi/jsc-tests/jsc-stress-results/.vm/JavaScriptCore.framework/Resources/libllvmForJSC.so
...
#XXXXX (endless stack trace)</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>