forked from OSchip/llvm-project
[sanitizer][aarch64] Add cast to drop reliance on the type of uc_mcontext.__reserved
https://sourceware.org/bugzilla/show_bug.cgi?id=22742 uc_mcontext.__reserved probably should not be considered user visible API but unfortunate it is: it is the only way to access cpu states of some Linux asm/sigcontext.h extensions. That said, the declaration may be long double __reserved[256]; (used by musl) instead of unsigned char __reserved[4096] __attribute__((__aligned__(16))); (glibc) to avoid dependency on a GNU variable attribute.
This commit is contained in:
parent
815b9f53d8
commit
70986ea3d6
|
@ -1773,7 +1773,7 @@ struct __sanitizer_esr_context {
|
|||
|
||||
static bool Aarch64GetESR(ucontext_t *ucontext, u64 *esr) {
|
||||
static const u32 kEsrMagic = 0x45535201;
|
||||
u8 *aux = ucontext->uc_mcontext.__reserved;
|
||||
u8 *aux = reinterpret_cast<u8 *>(ucontext->uc_mcontext.__reserved);
|
||||
while (true) {
|
||||
_aarch64_ctx *ctx = (_aarch64_ctx *)aux;
|
||||
if (ctx->size == 0) break;
|
||||
|
|
Loading…
Reference in New Issue