From a234df30dff854f5935c5416febe04f003c12bfc Mon Sep 17 00:00:00 2001 From: Aidan MacDonald Date: Fri, 8 Apr 2022 13:45:18 +0100 Subject: Fix sim build for glibc >=2.34 Change-Id: If63787514b6bffc0afb71f9d651f8c6f0c328a2d --- firmware/asm/thread.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/firmware/asm/thread.h b/firmware/asm/thread.h index 82edc81deb..5372be73ab 100644 --- a/firmware/asm/thread.h +++ b/firmware/asm/thread.h @@ -38,6 +38,16 @@ struct regs #include #ifdef HAVE_SIGALTSTACK_THREADS #include + #ifdef _DYNAMIC_STACK_SIZE_SOURCE + /* glibc 2.34 made MINSIGSTKSZ non-constant. This is a problem for sim + * builds. Hosted targets are using ancient glibc where MINSIGSTKSZ is + * still a compile time constant. On platforms where this is a problem + * (mainly x86-64 and ARM64) the signal stack size can be big, so let's + * give a decent amount of space and hope for the best... + * FIXME: this isn't a great solution. */ + #undef MINSIGSTKSZ + #define MINSIGSTKSZ 16384 + #endif /* MINSIGSTKSZ for the OS to deliver the signal + 0x3000 for us */ #define DEFAULT_STACK_SIZE (MINSIGSTKSZ+0x3000) /* Bytes */ #elif defined(HAVE_WIN32_FIBER_THREADS) -- cgit v1.2.3