diff options
author | Kinsey Moore <kinsey.moore@oarcorp.com> | 2021-02-25 09:13:42 -0600 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-03-10 08:57:59 -0600 |
commit | 28129f8ee6177eec12786514e06d65ba15badc73 (patch) | |
tree | be3ac529cd0fb61dd5b11299163b2b0e2dbe762f | |
parent | nexus: Add ZynqMP SLCR driver (diff) | |
download | rtems-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.h | 8 |
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) |