From 8c8f9122ce6e6c00f72914479af57a7b87244554 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Wed, 24 May 2017 22:15:23 +0100 Subject: [PATCH] Restrict i387_convert_register_p gdb: 2017-05-24 Yao Qi * i387-tdep.c (i387_convert_register_p): Return false if type code isn't TYPE_CODE_FLT. --- gdb/ChangeLog | 5 +++++ gdb/i387-tdep.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1234e1473a..29cd3061a3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2017-05-24 Yao Qi + + * i387-tdep.c (i387_convert_register_p): Return false if type + code isn't TYPE_CODE_FLT. + 2017-05-24 Yao Qi * alpha-tdep.c (alpha_convert_register_p): Return true if type diff --git a/gdb/i387-tdep.c b/gdb/i387-tdep.c index 92061098e3..925f4e5477 100644 --- a/gdb/i387-tdep.c +++ b/gdb/i387-tdep.c @@ -341,8 +341,9 @@ i387_convert_register_p (struct gdbarch *gdbarch, int regnum, if (i386_fp_regnum_p (gdbarch, regnum)) { /* Floating point registers must be converted unless we are - accessing them in their hardware type. */ - if (type == i387_ext_type (gdbarch)) + accessing them in their hardware type or TYPE is not float. */ + if (type == i387_ext_type (gdbarch) + || TYPE_CODE (type) != TYPE_CODE_FLT) return 0; else return 1; -- 2.34.1