mirror of
https://git.suyu.dev/suyu/breakpad.git
synced 2025-12-21 21:26:13 +01:00
Use breakpad_getcontext on all Linux platforms missing getcontext
getcontext is also not available on musl libc, so generalize breakpad_getcontext so it can be used as a fallback for non-Android platforms as well. On x86_64 and i386, ucontext_t uses an Android-specific offset for storage of FP registers, since its sigset_t differs in size. So, make the definition of MCONTEXT_FPREGS_MEM and UCONTEXT_FPREGS_MEM_OFFSET conditional on whether we are building for Android. On glibc and musl, signal.h and asm/sigcontext.h can't be included together, so in breakpad_context_unittest.cc, only compare the libc and kernel _fpstate when on Android. Bug: google-breakpad:631 Change-Id: If81d73c4101bae946e9a3655b8d1c40a34ab6c38 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2102135 Reviewed-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
parent
02b7be4065
commit
e780d58fd7
14 changed files with 124 additions and 87 deletions
|
|
@ -73,7 +73,8 @@ AC_HEADER_STDC
|
|||
AC_SYS_LARGEFILE
|
||||
AX_PTHREAD
|
||||
AC_CHECK_HEADERS([a.out.h sys/random.h])
|
||||
AC_CHECK_FUNCS([arc4random getrandom])
|
||||
AC_CHECK_FUNCS([arc4random getcontext getrandom])
|
||||
AM_CONDITIONAL([HAVE_GETCONTEXT], [test "x$ac_cv_func_getcontext" = xyes])
|
||||
|
||||
AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue