diff -bur isa-l-2.31.1-o/crc/aarch64/crc_common_pmull.h isa-l-2.31.1/crc/aarch64/crc_common_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc_common_pmull.h	2025-04-20 20:27:53.233123600 -0600
+++ isa-l-2.31.1/crc/aarch64/crc_common_pmull.h	2025-04-20 20:49:46.575217200 -0600
@@ -128,7 +128,7 @@
 .endm
 
 .macro crc_norm_load_first_block
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .shuffle_data
 	ldr	q_shuffle, [x_tmp, #:lo12:.shuffle_data]
 #else
diff -bur isa-l-2.31.1-o/crc/aarch64/crc16_t10dif_copy_pmull.S isa-l-2.31.1/crc/aarch64/crc16_t10dif_copy_pmull.S
--- isa-l-2.31.1-o/crc/aarch64/crc16_t10dif_copy_pmull.S	2025-04-20 20:27:53.233123600 -0600
+++ isa-l-2.31.1/crc/aarch64/crc16_t10dif_copy_pmull.S	2025-04-20 20:47:46.877832500 -0600
@@ -33,7 +33,7 @@
 	.text
 	.align	3
 	.global	cdecl(crc16_t10dif_copy_pmull)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc16_t10dif_copy_pmull, %function
 #endif
 
@@ -84,7 +84,7 @@
 	cmp	x_len, x_tmp
 	bls	.end
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	sxtw	x_counter, w_counter
 	adrp	x_crc16tab, .LANCHOR0
 	sub	x_src, x_src, x_counter
@@ -157,7 +157,7 @@
         stp q_x0, q_x1, [x_dst]
         stp q_x2, q_x3, [x_dst, 32]
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .shuffle_mask_lanchor
 	ldr	q_permutation, [x_tmp, :lo12:.shuffle_mask_lanchor]
 #else
@@ -375,7 +375,7 @@
 	umov	x0, v_x0.d[0]
 	ubfx	x0, x0, 16, 16
 	b	.crc_table_loop_pre
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc16_t10dif_copy_pmull, .-crc16_t10dif_copy_pmull
 #endif
 
@@ -388,7 +388,7 @@
 
 ASM_DEF_RODATA
 .shuffle_mask_lanchor = . + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	shuffle_mask, %object
 	.size	shuffle_mask, 16
 #endif
@@ -398,7 +398,7 @@
 
 	.align	4
 .LANCHOR0 = . + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc16tab, %object
 	.size	crc16tab, 512
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc16_t10dif_pmull.S isa-l-2.31.1/crc/aarch64/crc16_t10dif_pmull.S
--- isa-l-2.31.1-o/crc/aarch64/crc16_t10dif_pmull.S	2025-04-20 20:27:53.227124600 -0600
+++ isa-l-2.31.1/crc/aarch64/crc16_t10dif_pmull.S	2025-04-20 20:47:46.882832700 -0600
@@ -33,7 +33,7 @@
 	.text
 	.align	3
 	.global	cdecl(crc16_t10dif_pmull)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc16_t10dif_pmull, %function
 #endif
 
@@ -82,7 +82,7 @@
 	cmp	x_len, x_tmp
 	bls	.end
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	sxtw	x_counter, w_counter
 	adrp	x_crc16tab, .LANCHOR0
 	sub	x_buf, x_buf, x_counter
@@ -148,7 +148,7 @@
         ldp q_x0, q_x1, [x_buf]
         ldp q_x2, q_x3, [x_buf, 32]
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .shuffle_mask_lanchor
 	ldr	q7, [x_tmp, :lo12:.shuffle_mask_lanchor]
 #else
@@ -360,7 +360,7 @@
 	ubfx	x0, x0, 16, 16
 	b	.crc_table_loop_pre
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc16_t10dif_pmull, .-crc16_t10dif_pmull
 #endif
 
@@ -373,7 +373,7 @@
 
 ASM_DEF_RODATA
 .shuffle_mask_lanchor = . + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	shuffle_mask, %object
 	.size	shuffle_mask, 16
 #endif
@@ -383,7 +383,7 @@
 
 	.align	4
 .LANCHOR0 = . + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc16tab, %object
 	.size	crc16tab, 512
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_gzip_refl_3crc_fold.S isa-l-2.31.1/crc/aarch64/crc32_gzip_refl_3crc_fold.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_gzip_refl_3crc_fold.S	2025-04-20 20:27:53.228124000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_gzip_refl_3crc_fold.S	2025-04-20 20:47:46.893275900 -0600
@@ -89,11 +89,11 @@
 */
 
 	.global	cdecl(crc32_gzip_refl_3crc_fold)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_gzip_refl_3crc_fold, %function
 #endif
 cdecl(crc32_gzip_refl_3crc_fold):
 	crc32_3crc_fold	crc32
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc32_gzip_refl_3crc_fold, .-crc32_gzip_refl_3crc_fold
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_gzip_refl_crc_ext.S isa-l-2.31.1/crc/aarch64/crc32_gzip_refl_crc_ext.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_gzip_refl_crc_ext.S	2025-04-20 20:27:53.234124100 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_gzip_refl_crc_ext.S	2025-04-20 20:47:46.895282400 -0600
@@ -60,11 +60,11 @@
 	 *              uint64_t LEN,uint32_t wCRC);
 	 */
 	.global	cdecl(crc32_gzip_refl_crc_ext)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_gzip_refl_crc_ext, %function
 #endif
 cdecl(crc32_gzip_refl_crc_ext):
 	crc32_hw_common	crc32
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc32_gzip_refl_crc_ext, .-crc32_gzip_refl_crc_ext
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_gzip_refl_pmull.h isa-l-2.31.1/crc/aarch64/crc32_gzip_refl_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc32_gzip_refl_pmull.h	2025-04-20 20:27:53.228124000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_gzip_refl_pmull.h	2025-04-20 20:49:46.540558100 -0600
@@ -50,7 +50,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_table_gzip_refl, %object
 	.size	crc32_table_gzip_refl, 1024
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_ieee_norm_pmull.h isa-l-2.31.1/crc/aarch64/crc32_ieee_norm_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc32_ieee_norm_pmull.h	2025-04-20 20:27:53.234124100 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_ieee_norm_pmull.h	2025-04-20 20:49:46.544558400 -0600
@@ -50,7 +50,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_table_ieee_norm, %object
 	.size	crc32_table_ieee_norm, 1024
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_3crc_fold.S isa-l-2.31.1/crc/aarch64/crc32_iscsi_3crc_fold.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_3crc_fold.S	2025-04-20 20:27:53.234124100 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_iscsi_3crc_fold.S	2025-04-20 20:47:46.899458300 -0600
@@ -91,11 +91,11 @@
 */
 
 	.global	cdecl(crc32_iscsi_3crc_fold)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_iscsi_3crc_fold, %function
 #endif
 cdecl(crc32_iscsi_3crc_fold):
 	crc32_3crc_fold		crc32c
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc32_iscsi_3crc_fold, .-crc32_iscsi_3crc_fold
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_crc_ext.S isa-l-2.31.1/crc/aarch64/crc32_iscsi_crc_ext.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_crc_ext.S	2025-04-20 20:27:53.228124000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_iscsi_crc_ext.S	2025-04-20 20:47:46.902457800 -0600
@@ -59,11 +59,11 @@
 	 *                  uint64_t LEN,uint32_t wCRC);
 	 */
 	.global	cdecl(crc32_iscsi_crc_ext)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_iscsi_crc_ext, %function
 #endif
 cdecl(crc32_iscsi_crc_ext):
 	crc32_hw_common	crc32c
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc32_iscsi_crc_ext, .-crc32_iscsi_crc_ext
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_refl_pmull.h isa-l-2.31.1/crc/aarch64/crc32_iscsi_refl_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_refl_pmull.h	2025-04-20 20:27:53.235124300 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_iscsi_refl_pmull.h	2025-04-20 20:49:46.547558500 -0600
@@ -51,7 +51,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_table_iscsi_refl, %object
 	.size	crc32_table_iscsi_refl, 1024
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_refl_pmull.S isa-l-2.31.1/crc/aarch64/crc32_iscsi_refl_pmull.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_iscsi_refl_pmull.S	2025-04-20 20:27:53.229124000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_iscsi_refl_pmull.S	2025-04-20 20:47:46.904457700 -0600
@@ -37,7 +37,7 @@
 	.text
 	.align 3
 	.global	cdecl(crc32_iscsi_refl_pmull)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_iscsi_refl_pmull, %function
 #endif
 cdecl(crc32_iscsi_refl_pmull):
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_mix_default.S isa-l-2.31.1/crc/aarch64/crc32_mix_default.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_mix_default.S	2025-04-20 20:27:53.235124300 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_mix_default.S	2025-04-20 20:47:46.906457500 -0600
@@ -52,12 +52,12 @@
 #include "crc32_mix_default_common.S"
 
 	.global	cdecl(crc32_mix_default)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_mix_default, %function
 #endif
 cdecl(crc32_mix_default):
 	crc32_mix_main_default
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc32_mix_default, .-crc32_mix_default
 #endif
 
@@ -65,7 +65,7 @@
 	.align	4
 	.set	lanchor_crc32,. + 0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	k1k2, %object
 	.size	k1k2, 16
 #endif
@@ -73,7 +73,7 @@
 	.xword	0x0154442bd4
 	.xword	0x01c6e41596
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	k3k4, %object
 	.size	k3k4, 16
 #endif
@@ -81,7 +81,7 @@
 	.xword	0x01751997d0
 	.xword	0x00ccaa009e
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	k5k0, %object
 	.size	k5k0, 16
 #endif
@@ -89,7 +89,7 @@
 	.xword	0x0163cd6124
 	.xword	0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	poly, %object
 	.size	poly, 16
 #endif
@@ -97,7 +97,7 @@
 	.xword	0x01db710641
 	.xword	0x01f7011641
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_const, %object
 	.size	crc32_const, 48
 #endif
@@ -112,7 +112,7 @@
 	.align	4
 	.set	.lanchor_mask,. + 0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	mask, %object
 	.size	mask, 16
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_mix_default_common.S isa-l-2.31.1/crc/aarch64/crc32_mix_default_common.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_mix_default_common.S	2025-04-20 20:27:53.235124300 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_mix_default_common.S	2025-04-20 20:47:46.909457800 -0600
@@ -209,7 +209,7 @@
 	fmov		s_a1, w_crc
 	movi		v_neon_tmp.4s, 0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp		x_pconst, lanchor_crc32
 	add		x_buf_tmp, x_buf, 64
 #else
@@ -238,7 +238,7 @@
 	ldr		x_data_crc2, [x_buf, 1544]
 
 	eor		v_a1.16b, v_a1.16b, v_neon_tmp.16b
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	ldr		q_a0, [x_pconst, #:lo12:lanchor_crc32] // k1k2
 #else
 	ldr		q_a0, [x_pconst, #lanchor_crc32@PAGEOFF] // k1k2
@@ -272,7 +272,7 @@
 // loop end
 
 // PMULL: fold into 128-bits
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	add		x_pconst, x_pconst, :lo12:lanchor_crc32
 #else
 	add		x_pconst, x_pconst, lanchor_crc32@PAGEOFF
@@ -336,7 +336,7 @@
 
 	movi		v_neon_zero.4s, 0
 	ldr		q_k5k0, [x_pconst, offset_k5k0] // k5k0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp		x_tmp, .lanchor_mask
 #else
 	adrp		x_tmp, .lanchor_mask@PAGE
@@ -348,7 +348,7 @@
 
 	ext		v_a1.16b, v_a1.16b, v_neon_zero.16b, #8
 	eor		v_a1.16b, v_a2.16b, v_a1.16b
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	ldr		q_neon_tmp3, [x_tmp, #:lo12:.lanchor_mask]
 #else
 	ldr		q_neon_tmp3, [x_tmp, #.lanchor_mask@PAGEOFF]
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_mix_neoverse_n1.S isa-l-2.31.1/crc/aarch64/crc32_mix_neoverse_n1.S
--- isa-l-2.31.1-o/crc/aarch64/crc32_mix_neoverse_n1.S	2025-04-20 20:27:53.236307500 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_mix_neoverse_n1.S	2025-04-20 20:47:46.911457600 -0600
@@ -63,11 +63,11 @@
 	wCRC		.req	w0
 	.align		6
 	.global		cdecl(crc32_mix_neoverse_n1)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type		crc32_mix_neoverse_n1, %function
 #endif
 cdecl(crc32_mix_neoverse_n1):
 	crc32_common_mix	crc32
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size		crc32_mix_neoverse_n1, .-crc32_mix_neoverse_n1
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_norm_common_pmull.h isa-l-2.31.1/crc/aarch64/crc32_norm_common_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc32_norm_common_pmull.h	2025-04-20 20:27:53.236307500 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_norm_common_pmull.h	2025-04-20 20:55:49.431325900 -0600
@@ -34,7 +34,7 @@
 	.text
 	.align	3
 	.global	cdecl(\name)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	\name, %function
 #endif
 
@@ -50,7 +50,7 @@
 	cmp	x_len, x_counter
 	bls	.done
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .lanchor_crc_tab
 	add	x_buf_iter, x_buf, x_counter
 	add	x_buf, x_buf, x_len
@@ -133,11 +133,11 @@
 	umov	w_seed, v_tmp_high.s[0]
 
 	b	.crc_tab_pre
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	\name, .-\name
 	.section	.rodata.cst16,"aM",@progbits,16
 #else
-	.section	__TEXT,__const
+	.section	.rdata,"dr"
 #endif
 	.align	4
 .shuffle_data:
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32_refl_common_pmull.h isa-l-2.31.1/crc/aarch64/crc32_refl_common_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc32_refl_common_pmull.h	2025-04-20 20:27:53.237313300 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32_refl_common_pmull.h	2025-04-20 20:49:46.553424300 -0600
@@ -34,7 +34,7 @@
 	.text
 	.align	3
 	.global	cdecl(\name)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	\name, %function
 #endif
 
@@ -50,7 +50,7 @@
 	cmp	x_len, x_counter
 	bls	.done
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .lanchor_crc_tab
 	add	x_buf_iter, x_buf, x_counter
 	add	x_buf, x_buf, x_len
@@ -130,7 +130,7 @@
 	umov	w_seed, v_tmp_high.s[1]
 
 	b	.crc_tab_pre
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	\name, .-\name
 #endif
 .endm
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32c_mix_default.S isa-l-2.31.1/crc/aarch64/crc32c_mix_default.S
--- isa-l-2.31.1-o/crc/aarch64/crc32c_mix_default.S	2025-04-20 20:27:53.229124000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32c_mix_default.S	2025-04-20 20:47:46.885833200 -0600
@@ -50,7 +50,7 @@
 #include "crc32_mix_default_common.S"
 
 	.global	cdecl(crc32c_mix_default)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32c_mix_default, %function
 #endif
 cdecl(crc32c_mix_default):
@@ -59,7 +59,7 @@
 	mov	x1, x0
 	mov	w0, w3
 	crc32_mix_main_default
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	crc32c_mix_default, .-crc32c_mix_default
 #endif
 
@@ -67,7 +67,7 @@
 	.align	4
 	.set	lanchor_crc32,. + 0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	k1k2, %object
 	.size	k1k2, 16
 #endif
@@ -75,7 +75,7 @@
 	.xword	0x00740eef02
 	.xword	0x009e4addf8
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	k3k4, %object
 	.size	k3k4, 16
 #endif
@@ -83,7 +83,7 @@
 	.xword	0x00f20c0dfe
 	.xword	0x014cd00bd6
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	k5k0, %object
 	.size	k5k0, 16
 #endif
@@ -91,7 +91,7 @@
 	.xword	0x00dd45aab8
 	.xword	0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	poly, %object
 	.size	poly, 16
 #endif
@@ -99,7 +99,7 @@
 	.xword	0x0105ec76f0
 	.xword	0x00dea713f1
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc32_const, %object
 	.size	crc32_const, 48
 #endif
@@ -114,7 +114,7 @@
 	.align	4
 	.set	.lanchor_mask,. + 0
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	mask, %object
 	.size	mask, 16
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc32c_mix_neoverse_n1.S isa-l-2.31.1/crc/aarch64/crc32c_mix_neoverse_n1.S
--- isa-l-2.31.1-o/crc/aarch64/crc32c_mix_neoverse_n1.S	2025-04-20 20:27:53.226124900 -0600
+++ isa-l-2.31.1/crc/aarch64/crc32c_mix_neoverse_n1.S	2025-04-20 20:47:46.888832800 -0600
@@ -62,11 +62,11 @@
 	wCRC		.req	w2
 	.align		6
 	.global		cdecl(crc32c_mix_neoverse_n1)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type		crc32c_mix_neoverse_n1, %function
 #endif
 cdecl(crc32c_mix_neoverse_n1):
 	crc32_common_mix	crc32c
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size		crc32c_mix_neoverse_n1, .-crc32c_mix_neoverse_n1
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_ecma_norm_pmull.h isa-l-2.31.1/crc/aarch64/crc64_ecma_norm_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_ecma_norm_pmull.h	2025-04-20 20:27:53.229124000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_ecma_norm_pmull.h	2025-04-20 20:49:46.555424700 -0600
@@ -67,7 +67,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc64_tab, %object
 	.size	crc64_tab, 2048
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_ecma_refl_pmull.h isa-l-2.31.1/crc/aarch64/crc64_ecma_refl_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_ecma_refl_pmull.h	2025-04-20 20:27:53.236307500 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_ecma_refl_pmull.h	2025-04-20 20:49:46.557676100 -0600
@@ -63,7 +63,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc64_tab, %object
 	.size	crc64_tab, 2048
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_iso_norm_pmull.h isa-l-2.31.1/crc/aarch64/crc64_iso_norm_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_iso_norm_pmull.h	2025-04-20 20:27:53.230124300 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_iso_norm_pmull.h	2025-04-20 20:49:46.560675700 -0600
@@ -67,7 +67,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc64_tab, %object
 	.size	crc64_tab, 2048
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_iso_refl_pmull.h isa-l-2.31.1/crc/aarch64/crc64_iso_refl_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_iso_refl_pmull.h	2025-04-20 20:27:53.231125000 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_iso_refl_pmull.h	2025-04-20 20:49:46.562677000 -0600
@@ -63,7 +63,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc64_tab, %object
 	.size	crc64_tab, 2048
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_jones_norm_pmull.h isa-l-2.31.1/crc/aarch64/crc64_jones_norm_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_jones_norm_pmull.h	2025-04-20 20:27:53.232124600 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_jones_norm_pmull.h	2025-04-20 20:49:46.564675900 -0600
@@ -67,7 +67,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc64_tab, %object
 	.size	crc64_tab, 2048
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_jones_refl_pmull.h isa-l-2.31.1/crc/aarch64/crc64_jones_refl_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_jones_refl_pmull.h	2025-04-20 20:27:53.237313300 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_jones_refl_pmull.h	2025-04-20 20:49:46.567676500 -0600
@@ -63,7 +63,7 @@
 ASM_DEF_RODATA
 	.align	4
 	.set	.lanchor_crc_tab,. + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	crc64_tab, %object
 	.size	crc64_tab, 2048
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_norm_common_pmull.h isa-l-2.31.1/crc/aarch64/crc64_norm_common_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_norm_common_pmull.h	2025-04-20 20:27:53.232124600 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_norm_common_pmull.h	2025-04-20 20:49:46.569676200 -0600
@@ -34,7 +34,7 @@
 	.text
 	.align	3
 	.global	cdecl(\name)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	\name, %function
 #endif
 
@@ -50,7 +50,7 @@
 	cmp	x_len, x_counter
 	bls	.done
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .lanchor_crc_tab
 	add	x_buf_iter, x_buf, x_counter
 	add	x_buf, x_buf, x_len
@@ -128,9 +128,9 @@
 
 	b	.crc_tab_pre
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	\name, .-\name
 	.section .rodata.cst16,"aM",@progbits,16
 #else
-	.section __TEXT,__const
+	.section	.rdata,"dr"
 #endif
diff -bur isa-l-2.31.1-o/crc/aarch64/crc64_refl_common_pmull.h isa-l-2.31.1/crc/aarch64/crc64_refl_common_pmull.h
--- isa-l-2.31.1-o/crc/aarch64/crc64_refl_common_pmull.h	2025-04-20 20:27:53.238313200 -0600
+++ isa-l-2.31.1/crc/aarch64/crc64_refl_common_pmull.h	2025-04-20 20:49:46.572675600 -0600
@@ -34,7 +34,7 @@
 	.text
 	.align	3
 	.global	cdecl(\name)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	\name, %function
 #endif
 
@@ -50,7 +50,7 @@
 	cmp	x_len, x_counter
 	bls	.done
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_tmp, .lanchor_crc_tab
 	add	x_buf_iter, x_buf, x_counter
 	add	x_buf, x_buf, x_len
@@ -130,7 +130,7 @@
 	umov	x_crc_ret, v_tmp_low.d[1]
 
 	b	.crc_tab_pre
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	\name, .-\name
 #endif
 .endm
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_dot_prod_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_2vect_dot_prod_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_dot_prod_neon.S	2025-04-20 20:27:53.270813100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_2vect_dot_prod_neon.S	2025-04-20 20:29:42.245092000 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_2vect_dot_prod_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_2vect_dot_prod_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_2vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_dot_prod_sve.S	2025-04-20 20:27:53.274812700 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_2vect_dot_prod_sve.S	2025-04-20 20:29:42.250093300 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_2vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_2vect_dot_prod_sve, %function
 #endif
 /* void gf_2vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_mad_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_2vect_mad_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_mad_neon.S	2025-04-20 20:27:53.270813100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_2vect_mad_neon.S	2025-04-20 20:29:42.253092200 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_2vect_mad_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_2vect_mad_neon, %function
 #endif
 
@@ -364,7 +364,7 @@
 	sub	x_dest1, x_dest1, x_tmp
 	sub	x_dest2, x_dest2, x_tmp
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_const, const_tbl
 	add	x_const, x_const, :lo12:const_tbl
 #else
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_mad_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_2vect_mad_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_2vect_mad_sve.S	2025-04-20 20:27:53.270813100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_2vect_mad_sve.S	2025-04-20 20:29:42.256092400 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_2vect_mad_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_2vect_mad_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_dot_prod_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_3vect_dot_prod_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_dot_prod_neon.S	2025-04-20 20:27:53.275811900 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_3vect_dot_prod_neon.S	2025-04-20 20:29:42.259136400 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_3vect_dot_prod_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_3vect_dot_prod_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_3vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_dot_prod_sve.S	2025-04-20 20:27:53.270813100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_3vect_dot_prod_sve.S	2025-04-20 20:29:42.261347100 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_3vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_3vect_dot_prod_sve, %function
 #endif
 /* void gf_3vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_mad_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_3vect_mad_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_mad_neon.S	2025-04-20 20:27:53.271813000 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_3vect_mad_neon.S	2025-04-20 20:29:42.263347400 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_3vect_mad_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_3vect_mad_neon, %function
 #endif
 
@@ -336,7 +336,7 @@
 	sub	x_dest2, x_dest2, x_tmp
 	sub	x_dest3, x_dest3, x_tmp
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_const, const_tbl
 	add	x_const, x_const, :lo12:const_tbl
 #else
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_mad_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_3vect_mad_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_3vect_mad_sve.S	2025-04-20 20:27:53.275811900 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_3vect_mad_sve.S	2025-04-20 20:29:42.266347000 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_3vect_mad_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_3vect_mad_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_dot_prod_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_4vect_dot_prod_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_dot_prod_neon.S	2025-04-20 20:27:53.271813000 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_4vect_dot_prod_neon.S	2025-04-20 20:29:42.269346600 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_4vect_dot_prod_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_4vect_dot_prod_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_4vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_dot_prod_sve.S	2025-04-20 20:27:53.271813000 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_4vect_dot_prod_sve.S	2025-04-20 20:29:42.271347100 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_4vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_4vect_dot_prod_sve, %function
 #endif
 /* void gf_4vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_mad_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_4vect_mad_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_mad_neon.S	2025-04-20 20:27:53.275811900 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_4vect_mad_neon.S	2025-04-20 20:29:42.274348800 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_4vect_mad_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_4vect_mad_neon, %function
 #endif
 
@@ -400,7 +400,7 @@
 	sub	x_dest3, x_dest3, x_tmp
 	sub	x_dest4, x_dest4, x_tmp
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_const, const_tbl
 	add	x_const, x_const, :lo12:const_tbl
 #else
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_mad_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_4vect_mad_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_4vect_mad_sve.S	2025-04-20 20:27:53.271813000 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_4vect_mad_sve.S	2025-04-20 20:29:42.276347500 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_4vect_mad_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_4vect_mad_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_dot_prod_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_5vect_dot_prod_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_dot_prod_neon.S	2025-04-20 20:27:53.272812400 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_5vect_dot_prod_neon.S	2025-04-20 20:29:42.279669900 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_5vect_dot_prod_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_5vect_dot_prod_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_5vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_dot_prod_sve.S	2025-04-20 20:27:53.276812500 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_5vect_dot_prod_sve.S	2025-04-20 20:29:42.281669800 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_5vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_5vect_dot_prod_sve, %function
 #endif
 /* void gf_5vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_mad_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_5vect_mad_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_mad_neon.S	2025-04-20 20:27:53.272812400 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_5vect_mad_neon.S	2025-04-20 20:29:42.284968400 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_5vect_mad_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_5vect_mad_neon, %function
 #endif
 
@@ -467,7 +467,7 @@
 	sub	x_dest4, x_dest4, x_tmp
 	sub	x_dest5, x_dest5, x_tmp
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_const, const_tbl
 	add	x_const, x_const, :lo12:const_tbl
 #else
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_mad_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_5vect_mad_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_5vect_mad_sve.S	2025-04-20 20:27:53.272812400 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_5vect_mad_sve.S	2025-04-20 20:29:42.286968100 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_5vect_mad_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_5vect_mad_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_6vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_6vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_6vect_dot_prod_sve.S	2025-04-20 20:27:53.277812300 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_6vect_dot_prod_sve.S	2025-04-20 20:29:42.288969800 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_6vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_6vect_dot_prod_sve, %function
 #endif
 /* void gf_6vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_6vect_mad_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_6vect_mad_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_6vect_mad_neon.S	2025-04-20 20:27:53.272812400 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_6vect_mad_neon.S	2025-04-20 20:29:42.291968600 -0600
@@ -31,7 +31,7 @@
 
 .text
 .global cdecl(gf_6vect_mad_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_6vect_mad_neon, %function
 #endif
 
@@ -529,7 +529,7 @@
 	sub	x_dest5, x_dest5, x_tmp
 	sub	x_dest6, x_dest6, x_tmp
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_const, const_tbl
 	add	x_const, x_const, :lo12:const_tbl
 #else
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_6vect_mad_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_6vect_mad_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_6vect_mad_sve.S	2025-04-20 20:27:53.273812100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_6vect_mad_sve.S	2025-04-20 20:29:42.293968400 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_6vect_mad_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_6vect_mad_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_7vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_7vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_7vect_dot_prod_sve.S	2025-04-20 20:27:53.277812300 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_7vect_dot_prod_sve.S	2025-04-20 20:29:42.296969300 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_7vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_7vect_dot_prod_sve, %function
 #endif
 /* void gf_7vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_8vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_8vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_8vect_dot_prod_sve.S	2025-04-20 20:27:53.273812100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_8vect_dot_prod_sve.S	2025-04-20 20:29:42.299968700 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_8vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_8vect_dot_prod_sve, %function
 #endif
 /* void gf_8vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_dot_prod_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_vect_dot_prod_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_dot_prod_neon.S	2025-04-20 20:27:53.276812500 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_vect_dot_prod_neon.S	2025-04-20 20:28:30.073363400 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_vect_dot_prod_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_vect_dot_prod_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_dot_prod_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_vect_dot_prod_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_dot_prod_sve.S	2025-04-20 20:27:53.276812500 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_vect_dot_prod_sve.S	2025-04-20 20:29:42.303465500 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_vect_dot_prod_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_vect_dot_prod_sve, %function
 #endif
 /* void gf_vect_dot_prod_sve(int len, int vlen, unsigned char *gftbls,
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mad_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_vect_mad_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mad_neon.S	2025-04-20 20:27:53.273812100 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_vect_mad_neon.S	2025-04-20 20:29:42.306552100 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_vect_mad_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_vect_mad_neon, %function
 #endif
 
@@ -285,7 +285,7 @@
 	mov	x_src, x_src_end
 	sub	x_dest1, x_dest1, x_tmp
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x_const, const_tbl
 	add	x_const, x_const, :lo12:const_tbl
 #else
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mad_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_vect_mad_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mad_sve.S	2025-04-20 20:27:53.274812700 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_vect_mad_sve.S	2025-04-20 20:29:42.308551700 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_vect_mad_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_vect_mad_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mul_neon.S isa-l-2.31.1/erasure_code/aarch64/gf_vect_mul_neon.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mul_neon.S	2025-04-20 20:27:53.277812300 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_vect_mul_neon.S	2025-04-20 20:29:42.311553500 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(gf_vect_mul_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_vect_mul_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mul_sve.S isa-l-2.31.1/erasure_code/aarch64/gf_vect_mul_sve.S
--- isa-l-2.31.1-o/erasure_code/aarch64/gf_vect_mul_sve.S	2025-04-20 20:27:53.274812700 -0600
+++ isa-l-2.31.1/erasure_code/aarch64/gf_vect_mul_sve.S	2025-04-20 20:29:42.313552300 -0600
@@ -33,7 +33,7 @@
 #include "../include/aarch64_label.h"
 
 .global cdecl(gf_vect_mul_sve)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type gf_vect_mul_sve, %function
 #endif
 
diff -bur isa-l-2.31.1-o/include/aarch64_multibinary.h isa-l-2.31.1/include/aarch64_multibinary.h
--- isa-l-2.31.1-o/include/aarch64_multibinary.h	2025-04-20 20:27:53.178415200 -0600
+++ isa-l-2.31.1/include/aarch64_multibinary.h	2025-04-20 20:44:19.056003900 -0600
@@ -52,12 +52,12 @@
 	.data
 	.balign 8
 	.global cdecl(\name\()_dispatcher_info)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type   \name\()_dispatcher_info,%object
 #endif
 	cdecl(\name\()_dispatcher_info):
 		.quad   \name\()_mbinit         //func_entry
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size   \name\()_dispatcher_info,. - \name\()_dispatcher_info
 #endif
 	.balign 8
@@ -152,12 +152,12 @@
 		.cfi_endproc
 
 	.global cdecl(\name)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type \name,%function
 #endif
 	.align  2
 	cdecl(\name\()):
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 		adrp    x9, :got:\name\()_dispatcher_info
 		ldr     x9, [x9, #:got_lo12:\name\()_dispatcher_info]
 #else
@@ -166,7 +166,7 @@
 #endif
 		ldr     x10,[x9]
 		br      x10
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size \name,. - \name
 #endif
 .endm
@@ -180,23 +180,23 @@
 	.data
 	.balign 8
 	.global cdecl(\name\()_dispatcher_info)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type   \name\()_dispatcher_info,%object
 #endif
 	cdecl(\name\()_dispatcher_info):
 		.quad   \base         //func_entry
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size   \name\()_dispatcher_info,. - \name\()_dispatcher_info
 #endif
 	.balign 8
 	.text
 	.global cdecl(\name)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type \name,%function
 #endif
 	.align  2
 	cdecl(\name\()):
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 		adrp    x9, :got:cdecl(_\name\()_dispatcher_info)
 		ldr     x9, [x9, #:got_lo12:cdecl(_\name\()_dispatcher_info)]
 #else
@@ -205,7 +205,7 @@
 #endif
 		ldr     x10,[x9]
 		br      x10
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size \name,. - \name
 #endif
 .endm
@@ -332,7 +332,7 @@
 static inline uint32_t get_micro_arch_id(void)
 {
 	uint64_t id=CPU_IMPLEMENTER_RESERVE;
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	if ((getauxval(AT_HWCAP) & HWCAP_CPUID)) {
 		/** Here will trap into kernel space */
 		asm("mrs %0, MIDR_EL1 " : "=r" (id));
diff -bur isa-l-2.31.1-o/raid/aarch64/pq_check_neon.S isa-l-2.31.1/raid/aarch64/pq_check_neon.S
--- isa-l-2.31.1-o/raid/aarch64/pq_check_neon.S	2025-04-20 20:27:53.191808900 -0600
+++ isa-l-2.31.1/raid/aarch64/pq_check_neon.S	2025-04-20 20:46:13.530103800 -0600
@@ -31,7 +31,7 @@
 .text
 
 .global cdecl(pq_check_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type pq_check_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/raid/aarch64/pq_gen_neon.S isa-l-2.31.1/raid/aarch64/pq_gen_neon.S
--- isa-l-2.31.1-o/raid/aarch64/pq_gen_neon.S	2025-04-20 20:27:53.189809200 -0600
+++ isa-l-2.31.1/raid/aarch64/pq_gen_neon.S	2025-04-20 20:46:13.534104700 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(pq_gen_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type pq_gen_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/raid/aarch64/xor_check_neon.S isa-l-2.31.1/raid/aarch64/xor_check_neon.S
--- isa-l-2.31.1-o/raid/aarch64/xor_check_neon.S	2025-04-20 20:27:53.190809600 -0600
+++ isa-l-2.31.1/raid/aarch64/xor_check_neon.S	2025-04-20 20:46:13.539104800 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(xor_check_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type xor_check_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/raid/aarch64/xor_gen_neon.S isa-l-2.31.1/raid/aarch64/xor_gen_neon.S
--- isa-l-2.31.1-o/raid/aarch64/xor_gen_neon.S	2025-04-20 20:27:53.190809600 -0600
+++ isa-l-2.31.1/raid/aarch64/xor_gen_neon.S	2025-04-20 20:46:27.184312600 -0600
@@ -32,7 +32,7 @@
 .text
 
 .global cdecl(xor_gen_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type xor_gen_neon, %function
 #endif
 
diff -bur isa-l-2.31.1-o/igzip/aarch64/encode_df.S isa-l-2.31.1/igzip/aarch64/encode_df.S
--- isa-l-2.31.1-o/igzip/aarch64/encode_df.S	2025-04-20 21:15:49.406366600 -0600
+++ isa-l-2.31.1/igzip/aarch64/encode_df.S	2025-04-20 21:16:06.854284700 -0600
@@ -49,7 +49,7 @@
 .endm
 
 	.global	cdecl(encode_deflate_icf_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	encode_deflate_icf_aarch64, %function
 #endif
 
@@ -160,6 +160,6 @@
 
 .done:
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	encode_deflate_icf_aarch64, .-encode_deflate_icf_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/gen_icf_map.S isa-l-2.31.1/igzip/aarch64/gen_icf_map.S
--- isa-l-2.31.1-o/igzip/aarch64/gen_icf_map.S	2025-04-20 21:15:49.406366600 -0600
+++ isa-l-2.31.1/igzip/aarch64/gen_icf_map.S	2025-04-20 21:16:06.857286100 -0600
@@ -66,7 +66,7 @@
 
 	.align	2
 	.global	cdecl(gen_icf_map_h1_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	gen_icf_map_h1_aarch64, %function
 #endif
 
@@ -268,6 +268,6 @@
 .fast_exit:
 	mov	ret_val, 0
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	gen_icf_map_h1_aarch64, .-gen_icf_map_h1_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S isa-l-2.31.1/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S	2025-04-20 21:15:49.404366600 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S	2025-04-20 21:16:06.861285400 -0600
@@ -260,7 +260,7 @@
 
 
 	.global	cdecl(decode_huffman_code_block_stateless_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	decode_huffman_code_block_stateless_aarch64, %function
 #endif
 /*
@@ -328,7 +328,7 @@
 	ldp	write_overflow_lits,write_overflow_len,[block_state_adr,_write_overflow_lits-_block_state]
 
 	//init rfc_table
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	rfc_table,rfc_lookup_table
 	add	rfc_table,rfc_table,:lo12:rfc_lookup_table
 #else
@@ -670,7 +670,7 @@
 	strb	w_arg0, [next_out],1
 	bne	byte_copy_loop
 	b	decompress_data_end
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	decode_huffman_code_block_stateless_aarch64, .-decode_huffman_code_block_stateless_aarch64
 	.type	rfc_lookup_table, %object
 #endif
@@ -697,6 +697,6 @@
 	.short	0x0101, 0x0181, 0x0201, 0x0301, 0x0401, 0x0601, 0x0801, 0x0c01
 	.short	0x1001, 0x1801, 0x2001, 0x3001, 0x4001, 0x6001, 0x0000, 0x0000
 #endif
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	rfc_lookup_table, . - rfc_lookup_table
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_deflate_body_aarch64.S isa-l-2.31.1/igzip/aarch64/igzip_deflate_body_aarch64.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_deflate_body_aarch64.S	2025-04-20 21:15:49.406366600 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_deflate_body_aarch64.S	2025-04-20 21:16:06.864286300 -0600
@@ -76,7 +76,7 @@
 
 
 	.global	cdecl(isal_deflate_body_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	isal_deflate_body_aarch64, %function
 #endif
 /*
@@ -263,6 +263,6 @@
 	mov	w_tmp0 , ZSTATE_FLUSH_READ_BUFFER
 	str	w_tmp0, [stream, _internal_state+_state]
 	b	exit_ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	isal_deflate_body_aarch64, .-isal_deflate_body_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_deflate_finish_aarch64.S isa-l-2.31.1/igzip/aarch64/igzip_deflate_finish_aarch64.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_deflate_finish_aarch64.S	2025-04-20 21:15:49.406366600 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_deflate_finish_aarch64.S	2025-04-20 21:16:06.867197000 -0600
@@ -78,7 +78,7 @@
 .endm
 	.global	cdecl(isal_deflate_finish_aarch64)
 	.arch armv8-a+crc
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	isal_deflate_finish_aarch64, %function
 #endif
 /*
@@ -265,6 +265,6 @@
 	update_state	stream,start_in,next_in,end_in,m_out_buf,m_out_start,tmp0,tmp1
 	pop_stack
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	isal_deflate_finish_aarch64, .-isal_deflate_finish_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_deflate_hash_aarch64.S isa-l-2.31.1/igzip/aarch64/igzip_deflate_hash_aarch64.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_deflate_hash_aarch64.S	2025-04-20 21:15:49.408365900 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_deflate_hash_aarch64.S	2025-04-20 21:16:06.869438900 -0600
@@ -50,7 +50,7 @@
 
 
 	.global	cdecl(isal_deflate_hash_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	isal_deflate_hash_aarch64, %function
 #endif
 /*
@@ -97,6 +97,6 @@
 exit_func:
 
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	isal_deflate_hash_aarch64, .-isal_deflate_hash_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_isal_adler32_neon.S isa-l-2.31.1/igzip/aarch64/igzip_isal_adler32_neon.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_isal_adler32_neon.S	2025-04-20 21:15:49.405365900 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_isal_adler32_neon.S	2025-04-20 21:16:06.873080200 -0600
@@ -60,7 +60,7 @@
 	start	.req	x1
 	length	.req	x2
 	.global	cdecl(adler32_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	adler32_neon, %function
 #endif
 cdecl(adler32_neon):
@@ -97,7 +97,7 @@
 	lsr	adler1, adler32, 16
 
 	lsr	loop_cnt,length,5
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp 	x3,factors
 	add  	x3,x3,:lo12:factors
 #else
@@ -172,7 +172,7 @@
 	orr w0,adler0,adler1,lsl 16
 	ret
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	adler32_neon, .-adler32_neon
 	.section	.rodata.cst16,"aM",@progbits,16
 #else
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_set_long_icf_fg.S isa-l-2.31.1/igzip/aarch64/igzip_set_long_icf_fg.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_set_long_icf_fg.S	2025-04-20 21:15:49.405365900 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_set_long_icf_fg.S	2025-04-20 21:16:06.877080000 -0600
@@ -52,7 +52,7 @@
 	.text
 	.align	2
 	.global	cdecl(set_long_icf_fg_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	set_long_icf_fg_aarch64, %function
 #endif
 
@@ -108,7 +108,7 @@
 	add	end_in, next_in_param, input_size_param
 	mov	match_lookup, match_lookup_param
 
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	adrp	x1, .data_dist_start
 	mov	x2, DIST_START_SIZE // 128
 	add	x1, x1, :lo12:.data_dist_start
@@ -194,7 +194,7 @@
 	ldr	x23, [sp, 48]
 	ldp	x29, x30, [sp], 192
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	set_long_icf_fg_aarch64, .-set_long_icf_fg_aarch64
 #endif
 
diff -bur isa-l-2.31.1-o/igzip/aarch64/isal_deflate_icf_body_hash_hist.S isa-l-2.31.1/igzip/aarch64/isal_deflate_icf_body_hash_hist.S
--- isa-l-2.31.1-o/igzip/aarch64/isal_deflate_icf_body_hash_hist.S	2025-04-20 21:15:49.408365900 -0600
+++ isa-l-2.31.1/igzip/aarch64/isal_deflate_icf_body_hash_hist.S	2025-04-20 21:16:06.879080600 -0600
@@ -49,7 +49,7 @@
 .endm
 
 	.global	cdecl(isal_deflate_icf_body_hash_hist_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	isal_deflate_icf_body_hash_hist_aarch64, %function
 #endif
 /*
@@ -365,6 +365,6 @@
 	ldr	x24, [sp, 56]
 	ldp	x29, x30, [sp], 80
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	isal_deflate_icf_body_hash_hist_aarch64, .-isal_deflate_icf_body_hash_hist_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S isa-l-2.31.1/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S
--- isa-l-2.31.1-o/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S	2025-04-20 21:15:49.407366800 -0600
+++ isa-l-2.31.1/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S	2025-04-20 21:16:06.882080400 -0600
@@ -132,7 +132,7 @@
 	declare_generic_reg	tmp3,			28,x
 
 	.align	2
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	write_deflate_icf_constprop, %function
 #endif
 write_deflate_icf_constprop:
@@ -146,12 +146,12 @@
 	ubfx	x1, x1, 16, 3
 	strh	w1, [x0, 2]
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	write_deflate_icf_constprop, .-write_deflate_icf_constprop
 #endif
 
 	.align	2
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	write_deflate_icf, %function
 #endif
 write_deflate_icf:
@@ -165,12 +165,12 @@
 	bfi	w1, w3, 3, 13
 	strh	w1, [x0, 2]
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	write_deflate_icf, .-write_deflate_icf
 #endif
 
 	.align	2
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	update_state, %function
 #endif
 update_state:
@@ -192,13 +192,13 @@
 	str	x5, [x4, 4688]
 	str	x6, [x4, 4696]
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	update_state, .-update_state
 #endif
 
 	.align	2
 	.global	cdecl(isal_deflate_icf_finish_hash_hist_aarch64)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	isal_deflate_icf_finish_hash_hist_aarch64, %function
 #endif
 cdecl(isal_deflate_icf_finish_hash_hist_aarch64):
@@ -410,6 +410,6 @@
 	str	w1, [stream, offset_state_state] // 84
 .done:
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	isal_deflate_icf_finish_hash_hist_aarch64, .-isal_deflate_icf_finish_hash_hist_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/isal_update_histogram.S isa-l-2.31.1/igzip/aarch64/isal_update_histogram.S
--- isa-l-2.31.1-o/igzip/aarch64/isal_update_histogram.S	2025-04-20 21:15:49.407366800 -0600
+++ isa-l-2.31.1/igzip/aarch64/isal_update_histogram.S	2025-04-20 21:16:06.885080000 -0600
@@ -66,7 +66,7 @@
 .endm
 
 .macro convert_length_to_len_sym length:req,length_out:req,tmp0:req
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
         adrp    x_\tmp0, .len_to_code_tab_lanchor
         add     x_\tmp0, x_\tmp0, :lo12:.len_to_code_tab_lanchor
 #else
@@ -80,7 +80,7 @@
 ASM_DEF_RODATA
         .align  4
 .len_to_code_tab_lanchor = . + 0
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
         .type   len_to_code_tab, %object
         .size   len_to_code_tab, 1056
 #endif
@@ -123,7 +123,7 @@
 	.text
 	.global	cdecl(isal_update_histogram_aarch64)
 	.arch armv8-a+crc
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.type	isal_update_histogram_aarch64, %function
 #endif
 
@@ -320,6 +320,6 @@
 	.align 2
 .done:
 	ret
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 	.size	isal_update_histogram_aarch64, .-isal_update_histogram_aarch64
 #endif
diff -bur isa-l-2.31.1-o/igzip/aarch64/igzip_isal_adler32_neon.S isa-l-2.31.1/igzip/aarch64/igzip_isal_adler32_neon.S
--- isa-l-2.31.1-o/igzip/aarch64/igzip_isal_adler32_neon.S	2025-04-20 21:17:43.761606400 -0600
+++ isa-l-2.31.1/igzip/aarch64/igzip_isal_adler32_neon.S	2025-04-20 21:17:49.014799700 -0600
@@ -176,7 +176,7 @@
 	.size	adler32_neon, .-adler32_neon
 	.section	.rodata.cst16,"aM",@progbits,16
 #else
-	.section	__TEXT,__const
+	.section	.rdata,"dr"
 #endif
 	.align	4
 factors:
diff -bur isa-l-2.31.1-o/mem/aarch64/mem_zero_detect_neon.S isa-l-2.31.1/mem/aarch64/mem_zero_detect_neon.S
--- isa-l-2.31.1-o/mem/aarch64/mem_zero_detect_neon.S	2025-04-20 21:17:43.673961800 -0600
+++ isa-l-2.31.1/mem/aarch64/mem_zero_detect_neon.S	2025-04-20 21:19:17.895694800 -0600
@@ -39,7 +39,7 @@
 // output: -> x0 (true or false)
 
 .global cdecl(mem_zero_detect_neon)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && defined(__linux__)
 .type mem_zero_detect_neon, %function
 #endif
 
