From 33835208753a350a71a130837ad9e2289fd4cf2c Mon Sep 17 00:00:00 2001 From: Natanael Copa Date: Wed, 18 Nov 2015 10:27:51 +0000 Subject: [PATCH 09/12] gnu-ucontext --- open-vm-tools/lib/include/sigPosixRegs.h | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/open-vm-tools/lib/include/sigPosixRegs.h b/open-vm-tools/lib/include/sigPosixRegs.h index ee36da59..88d327a7 100644 --- a/open-vm-tools/lib/include/sigPosixRegs.h +++ b/open-vm-tools/lib/include/sigPosixRegs.h @@ -36,7 +36,7 @@ extern "C" { #endif -#if __linux__ // We need the REG_foo offsets in the gregset_t; +#if defined(__GLIBC__) // We need the REG_foo offsets in the gregset_t; # define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU /* And, the REG_foo definitions conflict with our own in x86.h */ @@ -74,7 +74,7 @@ extern "C" { #include #include -#if __linux__ && !defined __ANDROID__ +#if defined(__GLIBC__) # if defined(__x86_64__) # undef REG_RAX # undef REG_RBX @@ -200,7 +200,7 @@ extern "C" { #define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.mc_esp) #define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.mc_eip) #endif -#elif defined (sun) +#elif !defined (__GLIBC__) #ifdef __x86_64__ #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX]) #define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX]) @@ -220,15 +220,15 @@ extern "C" { #define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14]) #define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15]) #else -#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EAX]) -#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBX]) -#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ECX]) -#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDX]) -#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EDI]) -#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESI]) -#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EBP]) -#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[ESP]) -#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[EIP]) +#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX]) +#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBX]) +#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ECX]) +#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDX]) +#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EDI]) +#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESI]) +#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EBP]) +#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_ESP]) +#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EIP]) #endif #elif defined(ANDROID_X86) #define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_EAX]) -- 2.19.1