[Bug tdep/29543] [gdb/tdep, ppc] inferior call with long double vararg not handled correctly

vries at gcc dot gnu.org sourceware-bugzilla@sourceware.org
Sun Sep 4 07:49:37 GMT 2022


https://sourceware.org/bugzilla/show_bug.cgi?id=29543

--- Comment #5 from Tom de Vries <vries at gcc dot gnu.org> ---
This fixes it for me:
...
$ git diff
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
index 1fe81b95f6c..8d68f90df51 100644
--- a/gdb/ppc-sysv-tdep.c
+++ b/gdb/ppc-sysv-tdep.c
@@ -1444,7 +1444,7 @@ ppc64_sysv_abi_push_param (struct gdbarch *gdbarch,
          == floatformats_ieee_quad))
     {
       /* IEEE FLOAT128, args in vector registers.  */
-      ppc64_sysv_abi_push_val (gdbarch, val, TYPE_LENGTH (type), 0, argpos);
+      ppc64_sysv_abi_push_val (gdbarch, val, TYPE_LENGTH (type), 16, argpos);
       ppc64_sysv_abi_push_vreg (gdbarch, val, argpos);
     }
   else if (type->code () == TYPE_CODE_FLT
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Gdb-prs mailing list