Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 174d06f6 authored by Elliott Hughes's avatar Elliott Hughes Committed by Android Git Automerger
Browse files

am 4d0520fb: am b99d5294: Merge "Switch x86 libcorkscrew over to <ucontext.h>."

* commit '4d0520fb':
  Switch x86 libcorkscrew over to <ucontext.h>.
parents 5df1e320 4d0520fb
Loading
Loading
Loading
Loading
+1 −40
Original line number Diff line number Diff line
@@ -36,46 +36,7 @@
#include <sys/ptrace.h>
#include <cutils/log.h>

#if defined(__BIONIC__)

#if defined(__BIONIC_HAVE_UCONTEXT_T)

// Bionic offers the Linux kernel headers.
#include <asm/sigcontext.h>
#include <asm/ucontext.h>
typedef struct ucontext ucontext_t;

#else /* __BIONIC_HAVE_UCONTEXT_T */

/* Old versions of the Android <signal.h> didn't define ucontext_t. */

typedef struct {
  uint32_t  gregs[32];
  void*     fpregs;
  uint32_t  oldmask;
  uint32_t  cr2;
} mcontext_t;

enum {
  REG_GS = 0, REG_FS, REG_ES, REG_DS,
  REG_EDI, REG_ESI, REG_EBP, REG_ESP,
  REG_EBX, REG_EDX, REG_ECX, REG_EAX,
  REG_TRAPNO, REG_ERR, REG_EIP, REG_CS,
  REG_EFL, REG_UESP, REG_SS
};

/* Machine context at the time a signal was raised. */
typedef struct ucontext {
    uint32_t uc_flags;
    struct ucontext* uc_link;
    stack_t uc_stack;
    mcontext_t uc_mcontext;
    uint32_t uc_sigmask;
} ucontext_t;

#endif /* __BIONIC_HAVE_UCONTEXT_T */

#elif defined(__APPLE__)
#if defined(__APPLE__)

#define _XOPEN_SOURCE
#include <ucontext.h>