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

    <tr>
        <th>Summary</th>
        <td>
            Build failing on Cygwin: .hidden directive in BLAKE3 assembly
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    I'm using Cygwin, with this assembler:

```
$ cygcheck -f /bin/as
binutils-2.37-2
```

I'm trying to build clangd from llvm-project (commit `llvmorg-15-init-6331-gd345fe7c221f` -- that's a refspec from `git describe`).

I configured using this command:

```bash
cmake -S llvm -B build -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -GNinja
```

Building twice (because you don't need to see the successful steps), I get this output:

```
$ ninja -C build -k0
ninja: Entering directory `build'
[1/4502] Building ASM object lib/Suppo...lake3.dir/blake3_sse41_x86-64_unix.S.o
FAILED: lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse41_x86-64_unix.S.o
/usr/bin/cc -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support/BLAKE3 -I/home/naest/llvm-project/llvm/lib/Support/BLAKE3 -Iinclude -I/home/naest/llvm-project/llvm/include -O3 -DNDEBUG -MD -MT lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse41_x86-64_unix.S.o -MF lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse41_x86-64_unix.S.o.d -o lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse41_x86-64_unix.S.o -c /home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S: Assembler messages:
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S:22: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S:23: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S:24: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S:25: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S:26: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse41_x86-64_unix.S:27: Error: unknown pseudo-op: `.hidden'
[2/4502] Building ASM object lib/Suppo...Blake3.dir/blake3_sse2_x86-64_unix.S.o
FAILED: lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse2_x86-64_unix.S.o
/usr/bin/cc -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support/BLAKE3 -I/home/naest/llvm-project/llvm/lib/Support/BLAKE3 -Iinclude -I/home/naest/llvm-project/llvm/include -O3 -DNDEBUG -MD -MT lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse2_x86-64_unix.S.o -MF lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse2_x86-64_unix.S.o.d -o lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_sse2_x86-64_unix.S.o -c /home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S: Assembler messages:
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S:22: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S:23: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S:24: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S:25: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S:26: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_sse2_x86-64_unix.S:27: Error: unknown pseudo-op: `.hidden'
[3/4502] Building ASM object lib/Suppo...Blake3.dir/blake3_avx2_x86-64_unix.S.o
FAILED: lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx2_x86-64_unix.S.o
/usr/bin/cc -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support/BLAKE3 -I/home/naest/llvm-project/llvm/lib/Support/BLAKE3 -Iinclude -I/home/naest/llvm-project/llvm/include -O3 -DNDEBUG -MD -MT lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx2_x86-64_unix.S.o -MF lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx2_x86-64_unix.S.o.d -o lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx2_x86-64_unix.S.o -c /home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S: Assembler messages:
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S:22: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx2_x86-64_unix.S:23: Error: unknown pseudo-op: `.hidden'
[4/4502] Building ASM object lib/Suppo...ake3.dir/blake3_avx512_x86-64_unix.S.o
FAILED: lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx512_x86-64_unix.S.o
/usr/bin/cc -DGTEST_HAS_RTTI=0 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Support/BLAKE3 -I/home/naest/llvm-project/llvm/lib/Support/BLAKE3 -Iinclude -I/home/naest/llvm-project/llvm/include -O3 -DNDEBUG -mavx512vl -MD -MT lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx512_x86-64_unix.S.o -MF lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx512_x86-64_unix.S.o.d -o lib/Support/BLAKE3/CMakeFiles/LLVMSupportBlake3.dir/blake3_avx512_x86-64_unix.S.o -c /home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S: Assembler messages:
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S:22: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S:23: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S:24: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S:25: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S:26: Error: unknown pseudo-op: `.hidden'
/home/naest/llvm-project/llvm/lib/Support/BLAKE3/blake3_avx512_x86-64_unix.S:27: Error: unknown pseudo-op: `.hidden'
ninja: build stopped: cannot make progress due to previous errors.
```

I tried fixing the relevant CMakeLists.txt to use the _windows_gnu.S files for Cygwin, but curiously these also contain `.hidden` (ELF symbol visibility) directives, despite the fact that PE-COFF doesn't use ELF symbol visibility.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWdty4jgQ_RrzorLLlm0IDzxwnWUXklRgtmqfXL7IRhNbclkShL-fliEkM5jZSgZCHqYK8EXS6dOtdh9cHfFk25sauFMgJSjL0HCbbSgz8BBtqFwhuaIChUKQIspJZbh9wx4Z9vNv295_dpfYQ_E2i1ckfkRmigw8iTTUJBS7CXClJM2FiS23Y-JmkPp3x0hWW01JchQpmicozkOWJSiteIHyfF2YZcW_kViCpZuYFwWFs7atR3iVmY5vUkal2XZdx8wS1_NT0okxdlKYhEwTfAsl2AH_UEVSUZJ4Bw3DGUAlRMQVjYimhrvWD_RQzFlKM1WRZB-3OlCaRMiSU2GKQrHa3YqL8JEgc1G7gczB3kFzNJz3_xkHg6_T2ShY_nc_NtzRA8lJKGD2aDb7dx6Mb_uD2Ti4f7j7ezxcLmCCgXEdGcMd1EdTcg5BJk-yCmEMmV9uKfsW_iLcA2299mJDY6LDGZE4VGB0yxVKOGxiRyJGwFvYDEEIuEuQUHFMhEhVjoQkpYAo6byZoozIXTy4kqWS_581TPND5vA5DI_7sfo-LEdjJkmlCSa0gg3n1VbvUj0bqO2B_IEDyeb5Njb8ETr41F_MEY_qPMlpBDMWqiy5ZVk57IFrAaJO1PoigET3nODppm22vUAx-mQtLL6Dn_Sns_FIk3mFUkECTQYz2DMXToZzAJnQnEAoJnqz9nMGb7MEk5SoDk9PHMPWf1mOF8vgr_4ieFgup7DpkMGjIFgsR8NgeHe7WPZvl8G8P3y4W7wMTO4e5v3j27PpfPpyd9rsDgzA-YoXBA4sJEIPvX7o9pf6cAqAsjhXCXkD1GHFHawf3Y7Gg69fkDkfwXd5wbgD_OSC8BakNL8o_Rj93mb90sAhKy9mAB6q_rPGoAJqSphBMA5l46KWMa4LTFVxLW9IsUfGNwyVgqiEm7zUN6HWWCuaJIS9VJvLknI_IynvM5LyPyOp9mck1XkfKX-A3ySrJ8oW_ihZPWHoj6peVlWPwn5WUT1CP6-mNpA_q6TiCyvqz_gfJqjHhq-vpw2cri6nDZyurqYNnK4upg2crq6lDZzeLaXub0tpuH76GCk9beiPlF5QSpvCfj4pbUI_o5Q2kz-flB7jn_dpb8D_GCltNHxlKW3m9E4p9Qfem0pfY275zoeVvpOm_hS_n4pfsYvWOj97HWzYg7NWwgb889bCRgfOWg2PLJy9BBxb-LCK2GT6-jWxkdV1XzBOsbruK8YpVtd9yTjF6rqvGadYve9F49A32_XThORlSXRbEsUhY1yiuv0IJLMKHl-UKKL7emVF1pQrgYi2J547no39WSQrShKU0qdd85OgiuRkHTKJ6ho5o0IKSz5JDawbiXpKsKEs4RsRZExZC1gMdRSlvHrVdI6URLGqNI18qxfB0jAXXDdcZUjZa2_btu5UjmcTJLZFxHO0poJGNKdya-DuvlVI17pWD3U3t6RyxyMNY1l3f9H92BzeTSYo4UTsmpyaayOk1Up6btJ1u2FLUpmTXv0fBrBgFELA2bMXEOU9wxcKCJjvhXffTN-2VJX3VlKWdenEE_hkVK5UZMW8eJU4P6YTFULV4uN77Ru_teo5TiclHvZx17lx2m3vJnb9pOOnnSTFXRv7rTyMSC568AfMwJiRDaoh4Bz-h7VoD9sY257t2K7tudhq4yhN0igOiePcdJOO4dmkABctzcPiVdaqejWlSGUCBvN6nw-D4BzNGCG1OcAPlVzxqrcIi0GrttureX8HMd48Gg">