Skip to content

Build failing on Cygwin: .hidden directive in BLAKE3 assembly #54685

@SamB

Description

@SamB

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:

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions