This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: m68k_register_virtual_type


|> Er, yes.  (And eventually long_double to builtin_type_m68881_ext but the
|> last one might have fallout related to register conversions).

I have now committed this patch.
Thanks!

To answer your question. The m68k shouldn't have any fallout because it's eliminated the CONVERT_FROM and CONVERT_TO methods (just never know until someone tests it :-).

On the other hand, a target like the MIPS, which uses the convert methods, could have problems. Those functions try to cover up GDB's inability to manipulate floating point registers that had a non-standard type. Fortunatly that inability has been fixed, just need to flush the old code.

Andrew



Andreas.

2002-11-23  Andreas Schwab  <schwab@suse.de>

	* m68k-tdep.c (m68k_register_virtual_type): Use architecture
	invariant return values.

--- m68k-tdep.c.~1.28.~	2002-11-23 00:53:11.000000000 +0100
+++ m68k-tdep.c	2002-11-23 00:53:32.000000000 +0100
@@ -159,18 +159,19 @@ m68k_register_virtual_size (int regnum)
 static struct type *
 m68k_register_virtual_type (int regnum)
 {
-  if (regnum == E_FPI_REGNUM)
-    return lookup_pointer_type (builtin_type_void);
-  else if ((unsigned) regnum >= E_FPC_REGNUM)
-    return builtin_type_int;
-  else if ((unsigned) regnum >= FP0_REGNUM)
-    return builtin_type_long_double;
-  else if (regnum == PS_REGNUM)
-    return builtin_type_int;
-  else if ((unsigned) regnum >= A0_REGNUM)
-    return lookup_pointer_type (builtin_type_void);
-  else
-    return builtin_type_int;
+  if (regnum >= FP0_REGNUM && regnum <= FP0_REGNUM + 7)
+    return builtin_type_m68881_ext;
+


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]