diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2026-01-08 08:35:13 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2026-01-12 17:59:17 +0000 |
| commit | a7d9d1b19608b5e1224e8b687aa2b91d714a71ed (patch) | |
| tree | 105c2bea6a6e556a367d1e9918a9f40d5ec5c0db | |
| parent | b16ae773509cfd96be975644aad9c325011d8ea2 (diff) | |
zfs: emit .note.GNU-stack section for all ELF targets
On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows
the following warning:
ld: warning: aesni-gcm-avx2-vaes.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
Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether
to emit the `.note.GNU-stack` section using:
#if defined(__linux__) && defined(__ELF__)
We could add `&& defined(__FreeBSD__)` to the test, but since all other
`.S` files in the OpenZFS tree use:
#ifdef __ELF__
it would seem more logical to use that instead. Any recent ELF platform
should support these note sections by now.
Reviewed by: emaste, kib, imp
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D54578
(cherry picked from commit eb1b6ec7a79aff05f5f10e1d6b1c63a0d8dc5f2f)
| -rw-r--r-- | sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S | 2 | ||||
| -rw-r--r-- | sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S index cf17b3768712..9cdc2febf418 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S @@ -1264,7 +1264,7 @@ atomic_toggle_boolean_nv: .popsection /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif diff --git a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S index bf3724a23eae..57442e92155c 100644 --- a/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S +++ b/sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S @@ -717,7 +717,7 @@ gcm_ghash_avx: .popsection /* Mark the stack non-executable. */ -#if defined(__linux__) && defined(__ELF__) +#ifdef __ELF__ .section .note.GNU-stack,"",%progbits #endif |
