From 28129f8ee6177eec12786514e06d65ba15badc73 Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Thu, 25 Feb 2021 09:13:42 -0600 Subject: ck: Update for ILP32 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(+) (limited to 'freebsd') 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) -- cgit v1.2.3