[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