MINSIGSTKSZ is not a constexpr in recent glibc
glibc has recently changed how MINSIGSTKSZ is defined, i.e. https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=6c57d320484988e87e446e2e60ce42816bf51d53;hp=36231bee7ab36d59dd121ea85b91411ae86945f3 introduces
/* Default stack size for a signal handler: sysconf (SC_SIGSTKSZ). */
# undef SIGSTKSZ
# define SIGSTKSZ sysconf (_SC_SIGSTKSZ)
/* Minimum stack size for a signal handler: SIGSTKSZ. */
# undef MINSIGSTKSZ
# define MINSIGSTKSZ SIGSTKSZ
This means MINSIGSTKSZ is a sysconf
call, not a constexpr.
For afterburner, this means that the following line in the catch2 header cpp/test/catch.cc fails to compile.
static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ
This has of course been fixed in catch2 already, https://github.com/catchorg/Catch2/issues/2178, but having a copy of the catch2 amalgamated headers doesn't allow afterburner to take advantage of this. Maybe we can just use catch2 as a build-time dependency instead of including a copy.