[PATCH v1 5/7] ck: Update for ILP32

Kinsey Moore kinsey.moore at oarcorp.com
Mon Mar 8 23:27:08 UTC 2021


libck assumes all AArch64 pointers are 8 bytes. This adds the required
defines to handle 4 byte pointers on ILP32.
---
 freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr.h b/freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr.h
index e739c4d5..ceac0fea 100644
--- a/freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr.h
+++ b/freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr.h
@@ -111,7 +111,11 @@ CK_PR_FENCE(unlock, CK_DMB_SY)
 	}
 
 
+#ifdef __ILP32__
+CK_PR_LOAD(ptr, void, void *, "ldr")
+#else
 CK_PR_LOAD_64(ptr, void, void *, "ldr")
+#endif
 
 #define CK_PR_LOAD_S(S, T, I) CK_PR_LOAD(S, T, T, I)
 #define CK_PR_LOAD_S_64(S, T, I) CK_PR_LOAD_64(S, T, T, I)
@@ -156,7 +160,11 @@ CK_PR_LOAD_S_64(double, double, "ldr")
 		return;						\
 	}
 
+#ifdef __ILP32__
+CK_PR_STORE(ptr, void, const void *, "str")
+#else
 CK_PR_STORE_64(ptr, void, const void *, "str")
+#endif
 
 #define CK_PR_STORE_S(S, T, I) CK_PR_STORE(S, T, T, I)
 #define CK_PR_STORE_S_64(S, T, I) CK_PR_STORE_64(S, T, T, I)
-- 
2.20.1



More information about the devel mailing list