summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKinsey Moore <kinsey.moore@oarcorp.com>2021-02-25 09:13:42 -0600
committerJoel Sherrill <joel@rtems.org>2021-03-10 08:57:59 -0600
commit28129f8ee6177eec12786514e06d65ba15badc73 (patch)
treebe3ac529cd0fb61dd5b11299163b2b0e2dbe762f
parentnexus: Add ZynqMP SLCR driver (diff)
downloadrtems-libbsd-28129f8ee6177eec12786514e06d65ba15badc73.tar.bz2
ck: Update for ILP32
libck assumes all AArch64 pointers are 8 bytes. This adds the required defines to handle 4 byte pointers on ILP32.
-rw-r--r--freebsd/sys/contrib/ck/include/gcc/aarch64/ck_pr.h8
1 files changed, 8 insertions, 0 deletions
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)