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