mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
Attempt to fix AIX/i386 target.
This commit is contained in:
parent
3db87ba3ca
commit
667620fa27
@ -1,3 +1,12 @@
|
||||
2000-03-02 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* config/i386/tm-i386aix.h (NUM_FPREGS, NUM_REGS, REGISTER_BYTES):
|
||||
Override definitions to include the normal FPU registers.
|
||||
(REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL,
|
||||
REGISTER_CONVERT_TO_RAW): Removed. The default definitions are
|
||||
fine for AIX/i386.
|
||||
(i387_to_double, double_to_i387): Remove prototypes.
|
||||
|
||||
2000-03-02 Kevin Buettner <kevinb@redhat.com>
|
||||
|
||||
* findvar.c (extract_floating, store_floating): Use target
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Macro defintions for IBM AIX PS/2 (i386).
|
||||
Copyright 1986, 1987, 1989, 1992, 1993 Free Software Foundation, Inc.
|
||||
Copyright 1986, 1987, 1989, 1992, 1993, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GDB.
|
||||
|
||||
@ -29,40 +29,27 @@
|
||||
#ifndef I386
|
||||
#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
|
||||
|
||||
/* Nonzero if register N requires conversion
|
||||
from raw format to virtual format. */
|
||||
/* 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
|
||||
only the normal FPU registers are included in GDB's register array. */
|
||||
|
||||
#undef REGISTER_CONVERTIBLE
|
||||
#define REGISTER_CONVERTIBLE(N) \
|
||||
((N < FP0_REGNUM) ? 0 : 1)
|
||||
#undef NUM_FPREGS
|
||||
#define NUM_FPREGS (8)
|
||||
|
||||
/* Convert data from raw format for register REGNUM in buffer FROM
|
||||
to virtual format with type TYPE in buffer TO. */
|
||||
#undef NUM_REGS
|
||||
#define NUM_REGS (NUM_GREGS + NUM_FPREGS)
|
||||
|
||||
#undef REGISTER_CONVERT_TO_VIRTUAL
|
||||
#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,TYPE,FROM,TO) \
|
||||
{ \
|
||||
double val; \
|
||||
i387_to_double ((FROM), (char *)&val); \
|
||||
store_floating ((TO), TYPE_LENGTH (TYPE), val); \
|
||||
}
|
||||
extern void
|
||||
i387_to_double PARAMS ((char *, char *));
|
||||
|
||||
/* Convert data from virtual format with type TYPE in buffer FROM
|
||||
to raw format for register REGNUM in buffer TO. */
|
||||
|
||||
#undef REGISTER_CONVERT_TO_RAW
|
||||
#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \
|
||||
{ \
|
||||
double val = extract_floating ((FROM), TYPE_LENGTH (TYPE)); \
|
||||
double_to_i387((char *)&val, (TO)); \
|
||||
}
|
||||
extern void
|
||||
double_to_i387 PARAMS ((char *, char *));
|
||||
#undef REGISTER_BYTES
|
||||
#define REGISTER_BYTES (SIZEOF_GREGS + SIZEOF_FPU_REGS)
|
||||
|
||||
#endif /* TM_I386AIX_H */
|
||||
|
Loading…
Reference in New Issue
Block a user