diff --git a/stepmania/src/archutils/Unix/Backtrace.cpp b/stepmania/src/archutils/Unix/Backtrace.cpp index 5359465f35..40d6987af1 100644 --- a/stepmania/src/archutils/Unix/Backtrace.cpp +++ b/stepmania/src/archutils/Unix/Backtrace.cpp @@ -413,6 +413,12 @@ void GetExceptionBacktraceContext( BacktraceContext *ctx, const ExceptionInforma ctx->FramePtr = (void *) exception->registerImage->R1.lo; } +void GetSignalBacktraceContext( BacktraceContext *ctx, const ucontext_t *uc ) +{ + ctx->PC = (void *) uc->uc_mcontext->ss.srr0; + ctx->FramePtr = (void *) uc->uc_mcontext->ss.r1; +} + void InitializeBacktrace() { } void GetBacktrace( const void **buf, size_t size, const BacktraceContext *ctx ) diff --git a/stepmania/src/archutils/Unix/Backtrace.h b/stepmania/src/archutils/Unix/Backtrace.h index 8a833a12eb..1be6e6a163 100644 --- a/stepmania/src/archutils/Unix/Backtrace.h +++ b/stepmania/src/archutils/Unix/Backtrace.h @@ -33,10 +33,8 @@ bool GetThreadBacktraceContext( int ThreadID, BacktraceContext *ctx ); /* Set up a BacktraceContext to get a backtrace after receiving a signal, given * a ucontext_t (see sigaction(2)). (This interface is UNIX-specific.) */ -#if !defined(DARWIN) #include void GetSignalBacktraceContext( BacktraceContext *ctx, const ucontext_t *uc ); -#endif #if defined(DARWIN) #include