<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/102754>102754</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang 16 and 17 segfault while compiling OpenBLAS
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:X86,
            crash
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          giordano
      </td>
    </tr>
</table>

<pre>
    With a `x86_64-linux-musl` build of Clang, compilation of OpenBLAS silently dies while compiling some x86_64 kernels, returning exit code 255.  For example, with OpenBLAS 0.3.28 + https://github.com/OpenMathLib/OpenBLAS/pull/4859 (which resolves some warnings issues by Clang) I get
```console
sandbox:${WORKSPACE}/srcdir/OpenBLAS-0.3.28/kernel # cc -c -O2 -DSMALL_MATRIX_OPT -DMAX_STACK_ALLOC=2048 -Wall -m64 -DF_INTERFACE_GFORT -fPIC -DDYNAMIC_ARCH -DSMP_SERVER -DNO_WARMUP -DMAX_CPU_NUMBER=512 -DMAX_PARALLEL_NUMBER=1 -DBUILD_BFLOAT16 -DBUILD_SINGLE=1 -DBUILD_DOUBLE=1 -DBUILD_COMPLEX=1 -DBUILD_COMPLEX16=1 -DVERSION=\"0.3.28\" -msse3 -mssse3 -msse4.1 -mavx -mavx2 -march=cooperlake -mavx2 -UASMNAME -UASMFNAME -UNAME -UCNAME -UCHAR_NAME -UCHAR_CNAME -DASMNAME=_sbgemv_t_COOPERLAKE -DASMFNAME=_sbgemv_t_COOPERLAKE_ -DNAME=sbgemv_t_COOPERLAKE_ -DCNAME=sbgemv_t_COOPERLAKE -DCHAR_NAME=\"sbgemv_t_COOPERLAKE_\" -DCHAR_CNAME=\"sbgemv_t_COOPERLAKE\" -DNO_AFFINITY -DTS=_COOPERLAKE -I.. -DBUILD_KERNEL -DTABLE_NAME=gotoblas_COOPERLAKE -march=cooperlake -DBFLOAT16 -UDOUBLE  -UCOMPLEX -UCOMPLEX ../kernel/x86_64/sbgemv_t.c -o sbgemv_t_COOPERLAKE.o; echo $?
255
```
It's particularly worrying that Clang just dies without printing any error message, it's even hard to tell what's the issue.

This happens with any x86_64 target, this was first observed in https://github.com/JuliaPackaging/Yggdrasil/pull/9234 with `x86_64-linux-gnu`, `x86_64-apple-darwin`, and `x86_64-unknown-freebsd`.

Clang versions (here showing `x86_64-apple-darwin`, but it's the same version for all different targets)
```console
sandbox:${WORKSPACE}/srcdir/OpenBLAS-0.3.28 # clang --version
clang version 17.0.6 (/home/tim/.cache/BinaryBuilder/downloads/clones/llvm-project.git-1df819a03ecf6890e3787b27bfd4f160aeeeeacd50a98d003be8b0893f11a9be 6009708b4367171ccdbf4b5905cb6a803753fe18)
Target: x86_64-apple-darwin14
Thread model: posix
InstalledDir: /opt/x86_64-linux-musl/bin
[...]
sandbox:${WORKSPACE}/srcdir/OpenBLAS-0.3.28 # clang --version
clang version 16.0.6 (/home/gbaraldi/.julia/dev/BinaryBuilderBase/deps/downloads/clones/llvm-project.git-1df819a03ecf6890e3787b27bfd4f160aeeeeacd50a98d003be8b0893f11a9be 7cbf1a2591520c2491aa35339f227775f4d3adf6)
Target: x86_64-apple-darwin14
Thread model: posix
InstalledDir: /opt/x86_64-linux-musl/bin
```
Unfortunately I don't have builds of Clang 18 or nightly at hand.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEVl2TqroS_TXxpQsKwpc--IAi53i3X6XO2Xs_UQECZE8kVhJ05t_fiqAze86cebvnVlmSpBed7tXpRYhSrG4pnaJghoJkRDrdCDmtmZAlacUoF-Xr9DvTDRBAofMyDrPQtzhruxfr1CmOQgfyjvESRAVzTtoa4TkU4nRmnGgmWrO-PdN2tooPoBinreavUDKq4NowTgcsa2tQ4kSh3wGeqWwpV8aZpLqTrQHQF6ahECUFHAQ2QCok0BdyOnNqgFcT5mMvx_ZsPAaEZ9BofVbIixFOEU5rppsutwtxQjg18DXRzYrlw8y8jHB67jhHOPXHwQQQHl8bVjQgqRL8QlUf6pXcwlLAlOqogvz1zsAEllBTjZwEOTEKnf5XiFYJTvtVRdoyFy-3qHwUzb5v998Ou3i-QFGCcKpkUTL5LiSrzwfhtKcGEPagKMAqwNpisJLDOl6tsnV83C9_ZNvdEaxkHf_IDsd4_i2LV6vtHHkJdvwxWN8J52CdQh-sJM2Wm-Nin8bzRfZHut0fwap2yzlYSfJzE6-X8yzez_-8-d9lh8X-r8UerGSzzb7H-_XTbthlvnvKNk_r2WKPvCRw8bC8i_fxarVYvdlcsJLZ03KVZLN0tY2PbvhYOCw3f6wWv2GS7dPsw9J8u96tFj8-W3PDYfWvxf6w3G6Ql6BgjjAeqLuNwTopRb3b4_6kvu2CdSKXl_7fgIgsGuQlhRBnKjl5pg_TU3xYb-L1oh-lw3B4zO_PP-N99n48GJLhZeQlmcprerpkOptvt7vFfhV_GwDpF4jMsN-b_8E6_2ezsd4De7DzmZs7V8lb7F_hH_DNNovTdLlZHn-ClRwPJon32y9t-1G1b4v9ZrEysHi2WtxjqoUWOSfqt9c-q0bydoCe-nMChuv-KLwb2fajZxBOe3kxDTZkYRdgCfgkJ1sgbwa0aASYDvXSvm9xEHxo63661AhHCs5EalZ0nEj-Clch5asRLt0Q3WsD_OqUHuSP6UZ0Gs6StdqgSPsKVEoh4USVIvVN1Fjvl15oCw2RJWgBmnIO14b0Jt3QXoHsIbDb_7FhChpyPtO23-rmflBXTaSRJzwHbWBXoqBiUmkQuaLyQktg7Veq-Z-OM7IjxTOpmdG79Gddl5Ioxt-Uc4I9v9_443ejbjtDG56_s5DzmVOrJPLK2sFI2vIdoGufW3FtrUpSmqsShc5v6fbkXqhUTLTKKHZDJQXViKuh9suN8k7faTZcKnKid09QCQlGLUtWVVTSVg_cKYQn_wN571X9lotlDTH0Dov3CYIb2Y4dmjQRThtxoginmpnS2AUpGjOdsZbI15n5NlOzUymuLRekVAinBRctNQPOLyfrLMUvWmi7Ztpyy2rsTojj0aIKxxOHetE4ynGUV6VfuaFDKKWUFGXgkMm4dBwvp-PcGU-8ynXJJKcQOs4kcsa574WRG7lFUeaVnwcTJyjykIwdLwq8irrjB3_H_ix6MXxSIde_n2ZJSQknUVJuoGeh2MvQeK3ShHNaJkwaE8KpOOtHq7-_q-A0ZwOdKJjZto2C5N8pV_j3ctU5kYSXzNTsl-knUyN6-Vi5GVH0Zjmrf6-IUZFXLsHBxA2wU2B_4hLiBZ43qTCOoiio_NIjZRX-v4v4uwQ_tZWQumuJpvwVllCKFuFIQ0MutL-kqsctFdwxCAktqxtzHyUG1Zb2qJx65cSbkBGduhH2PMeNPH_UTP0odLzIzfPKdSZhWIyDyClLSrHv-2FUeCM2xQ72nbHruH4QeL5NKSYB9j3ser5LaIB8h54I47Yply1kPbqJ9tR1cBT4I05yytXtGo5xTopn2pbIi3-MQ4Qxwub7WkiiGjMLkpGc3qqed7VCvsOZ0urNsWaa0-mQZ3gTUjcCReuKdFz_7d59P9SjTvLpF6pv_H84bgin_eUX4XRI5DLF_w0AAP__YtvBqQ">