From e42e8a700043f04d1822f9915eeb4d4dededd9a5 Mon Sep 17 00:00:00 2001 From: Maria Sfiraiala Date: Wed, 3 Aug 2022 18:53:05 +0300 Subject: [PATCH] Fix size for long types on aarch64 Default size of the data model for AArch64 is 8 (64 bits) for long types, however newlibc ends up defining LONG_MAX as 32 bits. This issue causes extremely optimized functions, such as memchr (which parses DTB for apps like SQLite or redis), to crash when compiled for AArch64. This commit redefines the size for long types as 64 bits on AArch64. Signed-off-by: Maria Sfiraiala Reviewed-by: Sergiu Moga Reviewed-by: Simon Kuenzer Reviewed-by: Razvan Deaconescu Approved-by: Razvan Deaconescu Tested-by: Unikraft CI GitHub-Closes: #21 --- include/limits.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/limits.h b/include/limits.h index cbe57fa..d654a1d 100644 --- a/include/limits.h +++ b/include/limits.h @@ -51,7 +51,7 @@ #define SHRT_MAX 0x7fff #define USHRT_MAX 0xffff -#if defined(__x86_64__) +#if defined(__x86_64__) || defined(__ARM_64__) # define LONG_MAX 0x7fffffffffffffffL # define ULONG_MAX 0xffffffffffffffffUL #else -- 2.39.5