mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Do no use .cfi_negate_ra_state within the assembly on Arm64
Compiling openzfs on aarch64 with gcc-8 and gcc-9 is failing currently. See issue #14965 for deeper context. On platforms without pointer authentication, .cfi_negate_ra_state can be defined to a no-op: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gdb/aarch64-tdep.c#l1413 I have tested this on Arm64 FreeBSD 13.2 and AlmaLinux-8. Reviewed-by: Andrew Turner <andrew.turner4@arm.com> Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de> Closes #14965 Closes #15784
This commit is contained in:
		
							parent
							
								
									7aaf6ce9d8
								
							
						
					
					
						commit
						16c223eec9
					
				| @ -32,6 +32,14 @@ | ||||
|  */ | ||||
| 
 | ||||
| #if defined(__aarch64__) | ||||
| 
 | ||||
| /* make gcc <= 9 happy */ | ||||
| #if LD_VERSION >= 233010000 | ||||
| #define CFI_NEGATE_RA_STATE .cfi_negate_ra_state | ||||
| #else | ||||
| #define CFI_NEGATE_RA_STATE | ||||
| #endif | ||||
| 
 | ||||
| 	.text | ||||
| 	.section	.note.gnu.property,"a",@note
 | ||||
| 	.p2align	3
 | ||||
| @ -51,7 +59,7 @@ | ||||
| zfs_blake3_compress_in_place_sse2: | ||||
| 	.cfi_startproc | ||||
| 	hint	#25 | ||||
| 	.cfi_negate_ra_state | ||||
| 	CFI_NEGATE_RA_STATE | ||||
| 	sub	sp, sp, #96 | ||||
| 	stp	x29, x30, [sp, #64] | ||||
| 	add	x29, sp, #64 | ||||
| @ -555,7 +563,7 @@ compress_pre: | ||||
| zfs_blake3_compress_xof_sse2: | ||||
| 	.cfi_startproc | ||||
| 	hint	#25 | ||||
| 	.cfi_negate_ra_state | ||||
| 	CFI_NEGATE_RA_STATE | ||||
| 	sub	sp, sp, #96 | ||||
| 	stp	x29, x30, [sp, #64] | ||||
| 	add	x29, sp, #64 | ||||
| @ -608,7 +616,7 @@ zfs_blake3_compress_xof_sse2: | ||||
| zfs_blake3_hash_many_sse2: | ||||
| 	.cfi_startproc | ||||
| 	hint	#25 | ||||
| 	.cfi_negate_ra_state | ||||
| 	CFI_NEGATE_RA_STATE | ||||
| 	stp	d15, d14, [sp, #-160]! | ||||
| 	stp	d13, d12, [sp, #16] | ||||
| 	stp	d11, d10, [sp, #32] | ||||
|  | ||||
| @ -32,6 +32,14 @@ | ||||
|  */ | ||||
| 
 | ||||
| #if defined(__aarch64__) | ||||
| 
 | ||||
| /* make gcc <= 9 happy */ | ||||
| #if LD_VERSION >= 233010000 | ||||
| #define CFI_NEGATE_RA_STATE .cfi_negate_ra_state | ||||
| #else | ||||
| #define CFI_NEGATE_RA_STATE | ||||
| #endif | ||||
| 
 | ||||
| 	.text | ||||
| 	.section	.note.gnu.property,"a",@note
 | ||||
| 	.p2align	3
 | ||||
| @ -51,7 +59,7 @@ | ||||
| zfs_blake3_compress_in_place_sse41: | ||||
| 	.cfi_startproc | ||||
| 	hint	#25 | ||||
| 	.cfi_negate_ra_state | ||||
| 	CFI_NEGATE_RA_STATE | ||||
| 	sub	sp, sp, #96 | ||||
| 	stp	x29, x30, [sp, #64] | ||||
| 	add	x29, sp, #64 | ||||
| @ -565,7 +573,7 @@ compress_pre: | ||||
| zfs_blake3_compress_xof_sse41: | ||||
| 	.cfi_startproc | ||||
| 	hint	#25 | ||||
| 	.cfi_negate_ra_state | ||||
| 	CFI_NEGATE_RA_STATE | ||||
| 	sub	sp, sp, #96 | ||||
| 	stp	x29, x30, [sp, #64] | ||||
| 	add	x29, sp, #64 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Tino Reichardt
						Tino Reichardt