Bug 1532851 - Unbreak BSDs build on powerpc64 after bug 1462566. r=bbouvier a=lizzard
Define R32_sig, R01_sig based on: https://github.com/openbsd/src/blob/master/sys/arch/powerpc/include/signal.h https://github.com/netbsd/src/blob/trunk/sys/arch/powerpc/include/mcontext.h https://github.com/freebsd/freebsd/blob/master/sys/powerpc/include/ucontext.h
This commit is contained in:
@@ -102,6 +102,11 @@ using mozilla::DebugOnly;
|
|||||||
# define EPC_sig(p) ((p)->sc_pc)
|
# define EPC_sig(p) ((p)->sc_pc)
|
||||||
# define RFP_sig(p) ((p)->sc_regs[30])
|
# define RFP_sig(p) ((p)->sc_regs[30])
|
||||||
# endif
|
# endif
|
||||||
|
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
|
||||||
|
defined(__PPC64LE__)
|
||||||
|
# define R01_sig(p) ((p)->sc_frame.fixreg[1])
|
||||||
|
# define R32_sig(p) ((p)->sc_frame.srr0)
|
||||||
|
# endif
|
||||||
#elif defined(__linux__) || defined(__sun)
|
#elif defined(__linux__) || defined(__sun)
|
||||||
# if defined(__linux__)
|
# if defined(__linux__)
|
||||||
# define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP])
|
# define EIP_sig(p) ((p)->uc_mcontext.gregs[REG_EIP])
|
||||||
@@ -169,6 +174,11 @@ using mozilla::DebugOnly;
|
|||||||
# define EPC_sig(p) ((p)->uc_mcontext.__gregs[_REG_EPC])
|
# define EPC_sig(p) ((p)->uc_mcontext.__gregs[_REG_EPC])
|
||||||
# define RFP_sig(p) ((p)->uc_mcontext.__gregs[_REG_S8])
|
# define RFP_sig(p) ((p)->uc_mcontext.__gregs[_REG_S8])
|
||||||
# endif
|
# endif
|
||||||
|
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
|
||||||
|
defined(__PPC64LE__)
|
||||||
|
# define R01_sig(p) ((p)->uc_mcontext.__gregs[_REG_R1])
|
||||||
|
# define R32_sig(p) ((p)->uc_mcontext.__gregs[_REG_PC])
|
||||||
|
# endif
|
||||||
#elif defined(__DragonFly__) || defined(__FreeBSD__) || \
|
#elif defined(__DragonFly__) || defined(__FreeBSD__) || \
|
||||||
defined(__FreeBSD_kernel__)
|
defined(__FreeBSD_kernel__)
|
||||||
# define EIP_sig(p) ((p)->uc_mcontext.mc_eip)
|
# define EIP_sig(p) ((p)->uc_mcontext.mc_eip)
|
||||||
@@ -198,6 +208,11 @@ using mozilla::DebugOnly;
|
|||||||
# define EPC_sig(p) ((p)->uc_mcontext.mc_pc)
|
# define EPC_sig(p) ((p)->uc_mcontext.mc_pc)
|
||||||
# define RFP_sig(p) ((p)->uc_mcontext.mc_regs[30])
|
# define RFP_sig(p) ((p)->uc_mcontext.mc_regs[30])
|
||||||
# endif
|
# endif
|
||||||
|
# if defined(__FreeBSD__) && (defined(__ppc64__) || defined(__PPC64__) || \
|
||||||
|
defined(__ppc64le__) || defined(__PPC64LE__))
|
||||||
|
# define R01_sig(p) ((p)->uc_mcontext.mc_gpr[1])
|
||||||
|
# define R32_sig(p) ((p)->uc_mcontext.mc_srr0)
|
||||||
|
# endif
|
||||||
#elif defined(XP_DARWIN)
|
#elif defined(XP_DARWIN)
|
||||||
# define EIP_sig(p) ((p)->thread.uts.ts32.__eip)
|
# define EIP_sig(p) ((p)->thread.uts.ts32.__eip)
|
||||||
# define EBP_sig(p) ((p)->thread.uts.ts32.__ebp)
|
# define EBP_sig(p) ((p)->thread.uts.ts32.__ebp)
|
||||||
|
|||||||
Reference in New Issue
Block a user