]> git.proxmox.com Git - mirror_zfs.git/commitdiff
Add the BTI elf note to the AArch64 SHA2 assembly
authorAndrew Turner <andrew.turner4@arm.com>
Mon, 15 Apr 2024 20:53:39 +0000 (21:53 +0100)
committerGitHub <noreply@github.com>
Mon, 15 Apr 2024 20:53:39 +0000 (13:53 -0700)
On ELF platforms there is a note to specify when an application or
library supports BTI. When linking one of these the linker needs
all input object files to have the note. If not it will not include
it in the output file.

Normally the compiler would generate it, but for assembly files we
need to do it our selves.

Add the note to the aarch64 sha256 and sha512 assembly files.

Tested by building with BTI enabled and using the -zbti-report=error
flag to lld that makes it an error if the note is missing.

Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Andrew Turner <andrew.turner4@arm.com>
Closes #16086

module/icp/asm-aarch64/sha2/sha256-armv8.S
module/icp/asm-aarch64/sha2/sha512-armv8.S

index 7ae486e4e229db67fb668ea3567352e8b7780980..4dcdd3b65d0bb61239ca8a43f69fd043a7b6716b 100644 (file)
 
 #if defined(__aarch64__)
 
+       .section        .note.gnu.property,"a",@note
+       .p2align        3
+       .word   4
+       .word   16
+       .word   5
+       .asciz  "GNU"
+       .word   3221225472
+       .word   4
+       .word   3
+       .word   0
 .text
 
 .align 6
index 9c61eeee4d7bdac394a5f9d51925aceed4bdc373..f6c8f7742912374979c499b2bedd2724ade5c0a4 100644 (file)
 
 #if defined(__aarch64__)
 
+       .section        .note.gnu.property,"a",@note
+       .p2align        3
+       .word   4
+       .word   16
+       .word   5
+       .asciz  "GNU"
+       .word   3221225472
+       .word   4
+       .word   3
+       .word   0
 .text
 
 .align 6