<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 - [POWERPC64*] llvm12 and later produces broken binaries on FreeBSD"
   href="https://bugs.llvm.org/show_bug.cgi?id=51590">51590</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[POWERPC64*] llvm12 and later produces broken binaries on FreeBSD
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>clang
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

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

        <tr>
          <th>OS</th>
          <td>FreeBSD
          </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>-New Bugs
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>alfredo.junior@eldorado.org.br
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org, neeilans@live.com, richard-llvm@metafoo.co.uk
          </td>
        </tr></table>
      <p>
        <div>
        <pre>LLVM12 and later (tested main branch at
2c5c06c5cfca7988b2d69a78459be27beb35a86f) produces broken binaries on FreeBSD
13 for powerpc64 and powerpc64le. The binaries will crash with segmentation.

Steps to reproduce using FreeBSD 13 RELEASE ISO:

1. Install llvm12 (apt install llvm12)
2. Create echo_crash.c:

#include <capsicum_helpers.h>
#include <err.h>

int
main(int argc, char *argv[])
{

        if (caph_limit_stdio() < 0 || caph_enter() < 0)
                err(1, "capsicum");
        return 0;
}

3. Compile with:

clang12 -O2 -g echo_crash.c -o echo_crash.good
clang12 -O2 -g -fstack-protector-strong echo_crash.c -o echo_crash.bad


4. Execute the binaries produced. 
   ./echo_crash.good: will produce no output and return normally. 
   ./echo_crash.bad: Segmentation Fault</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>