From 7c079200d024d5868073246c4ec8f80446b0a4c0 Mon Sep 17 00:00:00 2001 From: Guy Menanteau Date: Fri, 15 Jan 2016 14:19:06 -0800 Subject: [PATCH] ppc64: Make access_fpreg function accept fp and v registers --- src/ppc64/Ginit.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/ppc64/Ginit.c b/src/ppc64/Ginit.c index 07409610..3211cf4d 100644 --- a/src/ppc64/Ginit.c +++ b/src/ppc64/Ginit.c @@ -169,13 +169,11 @@ access_fpreg (unw_addr_space_t as, unw_regnum_t reg, unw_fpreg_t *val, ucontext_t *uc = arg; unw_fpreg_t *addr; - if ((reg - UNW_PPC64_F0) < 0) + /* Allow only 32 fregs and 32 vregs */ + if (!(((unsigned) (reg - UNW_PPC64_F0) < 32) + ||((unsigned) (reg - UNW_PPC64_V0) < 32))) goto badreg; - if ((unsigned) (reg - UNW_PPC64_V0) >= 32) - goto badreg; - - addr = uc_addr (uc, reg); if (!addr) goto badreg;