From: Jose Ricardo Ziviani <jos...@linux.vnet.ibm.com> Fixes the big endian array access of national digits, from commits b815587 and e2106d7.
Signed-off-by: Jose Ricardo Ziviani <jos...@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <th...@redhat.com> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- target-ppc/int_helper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target-ppc/int_helper.c b/target-ppc/int_helper.c index 9ac204a..2d57c9a 100644 --- a/target-ppc/int_helper.c +++ b/target-ppc/int_helper.c @@ -2572,7 +2572,7 @@ static int bcd_cmp_zero(ppc_avr_t *bcd) static uint16_t get_national_digit(ppc_avr_t *reg, int n) { #if defined(HOST_WORDS_BIGENDIAN) - return reg->u16[8 - n]; + return reg->u16[7 - n]; #else return reg->u16[n]; #endif @@ -2581,7 +2581,7 @@ static uint16_t get_national_digit(ppc_avr_t *reg, int n) static void set_national_digit(ppc_avr_t *reg, uint8_t val, int n) { #if defined(HOST_WORDS_BIGENDIAN) - reg->u16[8 - n] = val; + reg->u16[7 - n] = val; #else reg->u16[n] = val; #endif -- 2.7.4