BLAKE3-team / BLAKE3

the official Rust and C implementations of the BLAKE3 cryptographic hash function
Apache License 2.0
4.71k stars 315 forks source link

Guard around .note.GNU-stack sections in c/blake3_*_x86-64_unix.S is too restrictive #376

Open rorth opened 5 months ago

rorth commented 5 months ago

As reported in [Support] Adjust .note.GNU-stack guard in Support/BLAKE3/blake3_*_x86… #76229 , links that include the c/blake3_*_x86-64_unix.o files on non-Linux ELF targets cause GNU ld warnings:

ld: warning: blake3_avx512_x86-64_unix.S.o: missing .note.GNU-stack section implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

The problem is that the files currently emit .note.GNU-stack sections on Linux only. However, clang emits them on every ELF target but Solaris.

The patch in that pull request (now committed) fixes this by adjusting the guard.