2000-03-22 Mark Kettenis <kettenis@gnu.org>

* config/i386/tm-i386aix.h (I386_AIX_TARGET): Remove.
	* config/i386/tm-linux.h (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM):
	Remove
	* i386-tdep.c (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): New defines.
	(i386_extract_return_value): Rewritten.  Correctly support all
	floating-point types and large integer types on targets that use
	the standard i386 GDB register layout and return floating-point
	values in the FPU.
This commit is contained in:
Mark Kettenis 2000-03-22 09:45:01 +00:00
parent 6a08e74c32
commit 1a309862a7
4 changed files with 53 additions and 43 deletions

View file

@ -30,14 +30,6 @@
#define I386 1
#endif
/* FIXME: kettenis/2000-03-02: This is used in
i386-tdep.c:i386_extract_return_value(), and will be remove once
I've fixed that. Meanwhile don't use it for any other purpose
please! */
#ifndef I386_AIX_TARGET
#define I386_AIX_TARGET 1
#endif
/* AIX/i386 has FPU support. However, the native configuration (which
is the only supported configuration) doesn't make the FPU control
registers available. Override the appropriate symbols such that

View file

@ -30,9 +30,6 @@
#include "i386/tm-i386.h"
#include "tm-linux.h"
#define LOW_RETURN_REGNUM 0 /* holds low four bytes of result */
#define HIGH_RETURN_REGNUM 2 /* holds high four bytes of result */
/* This should probably move to tm-i386.h. */
#define TARGET_LONG_DOUBLE_BIT 80