| Index: sandbox/linux/services/android_mips_ucontext.h
|
| diff --git a/sandbox/linux/services/android_mips_ucontext.h b/sandbox/linux/services/android_mips_ucontext.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e23f1a769401bef54639e93a0b83aa2979b99bf5
|
| --- /dev/null
|
| +++ b/sandbox/linux/services/android_mips_ucontext.h
|
| @@ -0,0 +1,51 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef SANDBOX_LINUX_SERVICES_ANDROID_MIPS_UCONTEXT_H_
|
| +#define SANDBOX_LINUX_SERVICES_ANDROID_MIPS_UCONTEXT_H_
|
| +
|
| +// This is mostly copied from breakpad (common/android/include/sys/ucontext.h),
|
| +// except we do use sigset_t for uc_sigmask instead of a custom type.
|
| +#if !defined(__BIONIC_HAVE_UCONTEXT_T)
|
| +// Ensure that 'stack_t' is defined.
|
| +#include <asm/signal.h>
|
| +
|
| +// We also need greg_t for the sandbox, include it in this header as well.
|
| +typedef unsigned long greg_t;
|
| +
|
| +typedef struct {
|
| + uint32_t regmask;
|
| + uint32_t status;
|
| + uint64_t pc;
|
| + uint64_t gregs[32];
|
| + uint64_t fpregs[32];
|
| + uint32_t acx;
|
| + uint32_t fpc_csr;
|
| + uint32_t fpc_eir;
|
| + uint32_t used_math;
|
| + uint32_t dsp;
|
| + uint64_t mdhi;
|
| + uint64_t mdlo;
|
| + uint32_t hi1;
|
| + uint32_t lo1;
|
| + uint32_t hi2;
|
| + uint32_t lo2;
|
| + uint32_t hi3;
|
| + uint32_t lo3;
|
| +} mcontext_t;
|
| +
|
| +typedef struct ucontext {
|
| + uint32_t uc_flags;
|
| + struct ucontext* uc_link;
|
| + stack_t uc_stack;
|
| + mcontext_t uc_mcontext;
|
| + sigset_t uc_sigmask;
|
| + // Other fields are not used by Google Breakpad. Don't define them.
|
| +} ucontext_t;
|
| +
|
| +#else
|
| +#include <sys/ucontext.h>
|
| +#endif // __BIONIC_HAVE_UCONTEXT_T
|
| +
|
| +#endif // SANDBOX_LINUX_SERVICES_ANDROID_MIPS_UCONTEXT_H_
|
|
|