Re: Long double support on m68k

Andreas Schwab
2001-07-25T01:17:00Z

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2369 bytes --]

Andrew Cagney <ac131313@cygnus.com> writes:

|> > Andrew Cagney <ac131313@cygnus.com> writes:
|> > |> > This patch enables long double support for m68k.
|> > |> > Andreas.
|> > |> > 2001-07-23 Andreas Schwab <schwab@suse.de>
|> > |> > * config/m68k/tm-m68k.h (TARGET_LONG_DOUBLE_FORMAT): Define.
|> > |> > (TARGET_LONG_DOUBLE_BIT): Define.
|> > |> > (REGISTER_VIRTUAL_SIZE): Return 12 for floating point registers.
|> > |> > (MAX_REGISTER_VIRTUAL_SIZE): Increase to 12.
|> > |> > (REGISTER_VIRTUAL_TYPE): Return builtin_type_long_double for
|> > |> > floating point registers.
|> > |> > (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL,
|> > |> > REGISTER_CONVERT_TO_RAW): Remove.
|> > |> > * config/m68k/xm-linux.h (HOST_LONG_DOUBLE_FORMAT): Define.
|> > |> |> |> The patch changes something included by all the other config/m68k/tm-*.h
|> > |> header files. Can you explain why it won't break some of those targets.
|> > Well, that's how the m68k looks like on all targets (if they support
|> > floating point at all). All targets that make use of the fpu do it
|> > similar as m68k-linux and don't touch any of the macros I changed, so I
|> > think this should be safe. The patch only changes the representation of
|> > floating point values at gdb's point of view, not how the target is using
|> > it.
|>
|>
|> So, what you're saying is that:
|>
|> o only tm-m68k defines the current
|> REGISTER_CONVERT* macros. All
|> m68k targets import/use this.

Yes (if they support the fpu at all).

|> So, if a target's raw FP registers are in the correct format for
|> REGISTER_CONVERT* then they are also in the correct format for this change
|> and such targets will continue to work. If a target's raw FP registers
|> were not in the correct format then, that target is already broken and
|> this change doesn't make things better or worse.

Yes. There is only one floating point format for the m68k fpu. The
previous version already assumed floatformat_m68881_ext, this patch just
removes the conversion, and makes the raw format avaliable to gdb.

Andreas.

--
Andreas Schwab "And now for something
SuSE Labs completely different."
Andreas.Schwab@suse.de
SuSE GmbH, SchanzÃ¤ckerstr. 10, D-90443 NÃ¼rnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5