m68k_register_virtual_type

Andrew Cagney ac131313@redhat.com
Fri Nov 22 16:25:00 GMT 2002


> |> 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;
> +




More information about the Gdb-patches mailing list