diff options
Diffstat (limited to 'main/open-vm-tools/musl-regs.patch')
-rw-r--r-- | main/open-vm-tools/musl-regs.patch | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/main/open-vm-tools/musl-regs.patch b/main/open-vm-tools/musl-regs.patch new file mode 100644 index 0000000000..9d0236da7c --- /dev/null +++ b/main/open-vm-tools/musl-regs.patch @@ -0,0 +1,95 @@ +--- open-vm-tools-9.4.6-1770165.orig/lib/include/sigPosixRegs.h ++++ open-vm-tools-9.4.6-1770165/lib/include/sigPosixRegs.h +@@ -37,7 +37,7 @@ + # define _GNU_SOURCE // _GNU_SOURCE maps to __USE_GNU + + /* And, the REG_foo definitions conflict with our own in x86.h */ +-# if defined(__x86_64__) ++# if defined(__x86_64__) && defined(__GLIBC__) + # define REG_RAX GNU_REG_RAX + # define REG_RBX GNU_REG_RBX + # define REG_RCX GNU_REG_RCX +@@ -55,7 +55,7 @@ + # define REG_R13 GNU_REG_R13 + # define REG_R14 GNU_REG_R14 + # define REG_R15 GNU_REG_R15 +-# elif defined(__i386__) ++# elif defined(__i386__) && defined(__GLIBC__) + # define REG_EAX GNU_REG_EAX + # define REG_EBX GNU_REG_EBX + # define REG_ECX GNU_REG_ECX +@@ -73,7 +73,7 @@ + #include <sys/ucontext.h> + #endif + +-#if __linux__ ++#if __GLIBC__ + # if defined(__x86_64__) + # undef REG_RAX + # undef REG_RBX +@@ -219,23 +219,23 @@ + #define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.eip) + #else + #ifdef __x86_64__ +-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RAX]) +-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RBX]) +-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RCX]) +-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RDX]) +-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RDI]) +-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RSI]) +-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RBP]) +-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RSP]) +-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_RIP]) +-#define SC_R8(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R8]) +-#define SC_R9(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R9]) +-#define SC_R10(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R10]) +-#define SC_R11(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R11]) +-#define SC_R12(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R12]) +-#define SC_R13(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R13]) +-#define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R14]) +-#define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_R15]) ++#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RAX]) ++#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBX]) ++#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RCX]) ++#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RDX]) ++#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RDI]) ++#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RSI]) ++#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RBP]) ++#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RSP]) ++#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_RIP]) ++#define SC_R8(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R8]) ++#define SC_R9(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R9]) ++#define SC_R10(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R10]) ++#define SC_R11(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R11]) ++#define SC_R12(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R12]) ++#define SC_R13(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R13]) ++#define SC_R14(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R14]) ++#define SC_R15(uc) ((unsigned long) (uc)->uc_mcontext.gregs[REG_R15]) + #elif defined(__arm__) + #define SC_R0(uc) ((unsigned long) (uc)->uc_mcontext.arm_r0) + #define SC_R1(uc) ((unsigned long) (uc)->uc_mcontext.arm_r1) +@@ -254,15 +254,15 @@ + #define SC_LR(uc) ((unsigned long) (uc)->uc_mcontext.arm_lr) + #define SC_PC(uc) ((unsigned long) (uc)->uc_mcontext.arm_pc) + #else +-#define SC_EAX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EAX]) +-#define SC_EBX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EBX]) +-#define SC_ECX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_ECX]) +-#define SC_EDX(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EDX]) +-#define SC_EDI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EDI]) +-#define SC_ESI(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_ESI]) +-#define SC_EBP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_EBP]) +-#define SC_ESP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_ESP]) +-#define SC_EIP(uc) ((unsigned long) (uc)->uc_mcontext.gregs[GNU_REG_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 + #endif + |