<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - Need multiple errata workaround options for loongson"
   href="https://bugs.llvm.org/show_bug.cgi?id=49611">49611</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Need multiple errata workaround options for loongson
          </td>
        </tr>

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

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>Backend: MIPS
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>arthur200126@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Our distro at aosc.io builds packages for the MIPS64 loongson devices some of
our users (and devs) have, but we cannot use Clang because many of the loongson
errata are only fixed in GCC. We request LLVM to implement options to fix the
following issues:

## Loongson 2F

Loongson 2F has issues with its NOP and jump instructions. The hanging NOP one
can affect userspace, while the deadlocking jump one can only affect kernel
code. A description is found in [1].

  [1]: <a href="https://sourceware.org/legacy-ml/binutils/2009-11/msg00387.html">https://sourceware.org/legacy-ml/binutils/2009-11/msg00387.html</a>

Loongson 2F is an older model, but we do wish that our netbooks can use some
proper Rust code.

## Loongson 3 (LLSC)

Loongson 3 is the current generation of Loongson CPUs. It can run into a
deadlock with ll/sc. The workaround involves putting a sync before ll and some
other stuff with sc.[2]

  [2]:
<a href="https://binutils.sourceware.narkive.com/dP1eQBrO/patch-mips-add-fix-for-loongson3-llsc-errata">https://binutils.sourceware.narkive.com/dP1eQBrO/patch-mips-add-fix-for-loongson3-llsc-errata</a></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>