From 9c9b52efa28a349bb9ab9c8068794ba14f7cd96d Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Thu, 19 Sep 2024 14:43:00 +0200 Subject: [PATCH] C library: Apple does not adhere to aarch64 ABI The fix from #8366 must not be used on macOS as that platform still uses `__builtin_va_list` instead of the ARM-mandated struct. --- src/ansi-c/library/stdio.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ansi-c/library/stdio.c b/src/ansi-c/library/stdio.c index e2cfe4543cf..47a2be1ba6b 100644 --- a/src/ansi-c/library/stdio.c +++ b/src/ansi-c/library/stdio.c @@ -1134,7 +1134,7 @@ int vfscanf(FILE *restrict stream, const char *restrict format, va_list arg) } (void)*format; -# if defined(__aarch64__) || defined(_M_ARM64) +# if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(arg.__stack) < __CPROVER_OBJECT_SIZE(arg.__stack)) { @@ -1192,7 +1192,7 @@ __CPROVER_HIDE:; } (void)*format; -#if defined(__aarch64__) || defined(_M_ARM64) +#if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(arg.__stack) < __CPROVER_OBJECT_SIZE(arg.__stack)) { @@ -1250,7 +1250,7 @@ int __stdio_common_vfscanf( } (void)*format; -# if defined(__aarch64__) || defined(_M_ARM64) +# if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(args.__stack) < __CPROVER_OBJECT_SIZE(args.__stack)) { @@ -1338,7 +1338,7 @@ __CPROVER_HIDE:; int result = __VERIFIER_nondet_int(); (void)*s; (void)*format; -# if defined(__aarch64__) || defined(_M_ARM64) +# if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(arg.__stack) < __CPROVER_OBJECT_SIZE(arg.__stack)) { @@ -1382,7 +1382,7 @@ __CPROVER_HIDE:; int result = __VERIFIER_nondet_int(); (void)*s; (void)*format; -#if defined(__aarch64__) || defined(_M_ARM64) +#if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(arg.__stack) < __CPROVER_OBJECT_SIZE(arg.__stack)) { @@ -1432,7 +1432,7 @@ int __stdio_common_vsscanf( (void)*s; (void)*format; -# if defined(__aarch64__) || defined(_M_ARM64) +# if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(args.__stack) < __CPROVER_OBJECT_SIZE(args.__stack)) { @@ -1827,7 +1827,7 @@ int vsnprintf(char *str, size_t size, const char *fmt, va_list ap) { (void)*fmt; -#if defined(__aarch64__) || defined(_M_ARM64) +#if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(ap.__stack) < __CPROVER_OBJECT_SIZE(ap.__stack)) @@ -1887,7 +1887,7 @@ int __builtin___vsnprintf_chk( (void)bufsize; (void)*fmt; -#if defined(__aarch64__) || defined(_M_ARM64) +#if(defined(__aarch64__) || defined(_M_ARM64)) && !defined(__APPLE__) while((__CPROVER_size_t)__CPROVER_POINTER_OFFSET(ap.__stack) < __CPROVER_OBJECT_SIZE(ap.__stack))