git: 0e80562f15e3 - stable/14 - zfs: emit .note.GNU-stack section for all ELF targets

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Mon, 12 Jan 2026 17:59:53 UTC
The branch stable/14 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=0e80562f15e3a634a2039cd88784957cb0f682c3

commit 0e80562f15e3a634a2039cd88784957cb0f682c3
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2026-01-08 08:35:13 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-01-12 17:59:04 +0000

    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)
---
 sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-x86_64.S | 2 +-
 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 cb75043a49a7..a164526a04ff 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
@@ -1274,7 +1274,7 @@ SECTION_STATIC
 #endif
 
 /* 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 f62e056d4b64..06dbf43d407d 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
@@ -713,7 +713,7 @@ SET_OBJ(.Lrem_8bit)
 .balign	64
 
 /* Mark the stack non-executable. */
-#if defined(__linux__) && defined(__ELF__)
+#ifdef __ELF__
 .section .note.GNU-stack,"",%progbits
 #endif