[binutils-gdb] Add decfloat registers to float reggroup

Pedro Franco de Carvalho pedromfc@sourceware.org
Fri Oct 26 14:58:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7ed29001c4a965520f6a243ec7ad41c156f96a20

commit 7ed29001c4a965520f6a243ec7ad41c156f96a20
Author: Pedro Franco de Carvalho <pedromfc@linux.ibm.com>
Date:   Fri Oct 26 09:37:53 2018 -0300

    Add decfloat registers to float reggroup
    
    This patch changes default_register_reggroup_p to return true when the
    register type is decimal floating point and the reggroup is
    float_reggroup.
    
    gdb/ChangeLog:
    2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
    
    	* reggroups.c (default_register_reggroup_p): Return true for
    	decfloat registers and float_reggroup.

Diff:
---
 gdb/ChangeLog   | 5 +++++
 gdb/reggroups.c | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8b7323e..e170dd0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
 
+	* reggroups.c (default_register_reggroup_p): Return true for
+	decfloat registers and float_reggroup.
+
+2018-10-26  Pedro Franco de Carvalho  <pedromfc@linux.ibm.com>
+
 	* ppc-linux-tdep.c (ppc_linux_collect_vrregset): Remove.
 	(ppc32_le_linux_vrregset, ppc32_be_linux_vrregset): Replace
 	ppc_linux_collect_vrregset by regcache_collect_regset.
diff --git a/gdb/reggroups.c b/gdb/reggroups.c
index f0fd3d7..f7a7cb1 100644
--- a/gdb/reggroups.c
+++ b/gdb/reggroups.c
@@ -202,7 +202,9 @@ default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
   if (group == all_reggroup)
     return 1;
   vector_p = TYPE_VECTOR (register_type (gdbarch, regnum));
-  float_p = TYPE_CODE (register_type (gdbarch, regnum)) == TYPE_CODE_FLT;
+  float_p = (TYPE_CODE (register_type (gdbarch, regnum)) == TYPE_CODE_FLT
+	     || (TYPE_CODE (register_type (gdbarch, regnum))
+		 == TYPE_CODE_DECFLOAT));
   raw_p = regnum < gdbarch_num_regs (gdbarch);
   if (group == float_reggroup)
     return float_p;



More information about the Gdb-cvs mailing list