Add sigaltstack support to MacOS crashlog

This commit is contained in:
Jonathan G Rennison
2019-04-23 19:14:02 +01:00
parent 145fee04fa
commit cc970aac70
2 changed files with 87 additions and 16 deletions

View File

@@ -1956,6 +1956,33 @@ EOL
log 1 "checking ucontext... found"
CFLAGS="$CFLAGS -DWITH_UCONTEXT"
fi
log 2 "executing $cc_host $CFLAGS $CFLAGS_ENV $LDFLAGS $LDFLAGS_ENV $STATIC_FLAGS -o tmp.config.sigaltstack -x c++ - -ldl"
"$cc_host" $CFLAGS $CFLAGS_ENV $LDFLAGS $LDFLAGS_ENV $STATIC_FLAGS -o tmp.config.sigaltstack -x c++ - -ldl 2> /dev/null << EOL
#include <signal.h>
#include <stdlib.h>
#include <pthread.h>
int main() {
pthread_t self = pthread_self();
void *stacktop = pthread_get_stackaddr_np(self);
size_t stack_size = pthread_get_stacksize_np(self);
stack_t ss;
ss.ss_sp = calloc(SIGSTKSZ, 1);
ss.ss_size = SIGSTKSZ;
ss.ss_flags = 0;
sigaltstack(&ss, NULL);
return 0;
}
EOL
ret=$?
rm -f tmp.config.sigaltstack
log 2 " exit code $ret"
if [ $ret -ne 0 ]; then
log 1 "checking sigaltstack... no"
else
log 1 "checking sigaltstack... found"
CFLAGS="$CFLAGS -DWITH_SIGALTSTACK"
fi
fi
if [ "$os" = "HAIKU" ]; then