diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 281c441ff43..ffa636ea63d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-02-04 Ulrich Weigand  + + * ppc-sysv-tdep.c (ppc64_sysv_abi_push_val): Use correct + offset on little-endian when passing small structures. + 2014-02-04 Ulrich Weigand  * ppc-sysv-tdep.c (get_decimal_float_return_value): Update comment. diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c index 77a71bc987a..62e9cbdaccb 100644 --- a/gdb/ppc-sysv-tdep.c +++ b/gdb/ppc-sysv-tdep.c @@ -1150,7 +1150,8 @@ ppc64_sysv_abi_push_val (struct gdbarch *gdbarch, doubleword are right-aligned and those larger are left-aligned. GCC versions before 3.4 implemented this incorrectly; see . */ - if (len < tdep->wordsize) + if (len < tdep->wordsize + && gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG) offset = tdep->wordsize - len; if (argpos->regcache)