old-cross-binutils/gdb/config/i386/tm-i386aix.h

68 lines
2 KiB
C
Raw Normal View History

/* Macro defintions for IBM AIX PS/2 (i386).
Copyright 1986, 1987, 1989, 1992, 1993 Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
1995-08-02 03:41:12 +00:00
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Changes for IBM AIX PS/2 by Minh Tran-Le (tranle@intellicorp.com). */
#ifndef TM_I386AIX_H
#define TM_I386AIX_H 1
* config/i386/tm-i386.h: New file containing generic i*86 target definitions. (TARGET_BYTE_ORDER): Moved here from tm-i386v.h. (IEEE_FLOAT): Moved here from tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Define default as 2. (FUNCTION_START_OFFSET): Moved here from tm-i386v.h. (SKIP_PROLOGUE): Moved here from tm-i386v.h. (SAVED_PC_AFTER_CALL): Moved here from tm-i386v.h. (INNER_THAN): Moved here from tm-i386v.h. (BREAKPOINT): Moved here from tm-i386v.h. (DECR_PC_AFTER_BREAK): Moved here from tm-i386v.h. (ABOUT_TO_RETURN): Moved here from tm-i386v.h. (REGISTER_SIZE): Moved here from tm-i386v.h. (NUM_REGS): Moved here from tm-i386v.h. (REGISTER_NAMES): Moved here from tm-i386v.h. (EXTRACT_STRUCT_VALUE_ADDRESS): Moved here from tm-i386v.h. (FP_REGNUM): Moved here from tm-i386v.h. (SP_REGNUM): Moved here from tm-i386v.h. (PC_REGNUM): Moved here from tm-i386v.h. (PS_REGNUM): Moved here from tm-i386v.h. (FP0_REGNUM): Moved here from tm-i386aix.h. (FPC_REGNUM): Moved here from tm-sun386.h. (REGISTER_BYTES): Moved here from tm-i386aix.h. (REGISTER_BYTE): Moved here from tm-i386aix.h. (REGISTER_RAW_SIZE): Moved here from tm-i386aix.h. (MAX_REGISTER_RAW_SIZE): Moved here from tm-i386aix.h. (REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h. (MAX_REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h. (EXTRACT_RETURN_VALUE): Moved here from tm-i386aix.h. (STORE_RETURN_VALUE): Moved here from tm-i386aix.h. (REGISTER_VIRTUAL_TYPE): Moved here from tm-i386v.h. (STORE_STRUCT_RETURN): Moved here from tm-i386v.h. (FRAME_CHAIN): Moved here from tm-i386v4.h. (FRAMELESS_FUNCTION_INVOCATION): Moved here from tm-i386v4.h. (FRAME_SAVED_PC): Moved here from tm-i386os9k.h (FRAME_ARGS_ADDRESS): Moved here from tm-i386v.h. (FRAME_LOCALS_ADDRESS): Moved here from tm-i386v.h. (FRAME_NUM_ARGS): Moved here from tm-i386sun.h. (FRAME_ARGS_SKIP): Moved here from tm-i386v.h. (FRAME_FIND_SAVED_REGS): Moved here from tm-i386v.h. (PUSH_DUMMY_FRAME): Moved here from tm-i386v.h. (POP_FRAME): Moved here from tm-i386v.h. (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET, CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Moved here from tm-i386v.h (print_387_control_word, print_387_status_word): Declare prototypes. (struct frame_info, struct frame_saved_regs): Forward decls for prototypes. (SP_ARG0): Moved here from tm-i386v.h. * config/i386/tm-i386v.h: (i386/tm-i386.h): Include. (TARGET_BYTE_ORDER): Remove. (IEEE_FLOAT): Remove. (START_INFERIOR_TRAPS_EXPECTED): Undef before redefine to 4. (FUNCTION_START_OFFSET): Remove. (SKIP_PROLOGUE): Remove. (i386_skip_prologue): Remove prototype. (SAVED_PC_AFTER_CALL): Remove. (INNER_THAN): Remove. (BREAKPOINT): Remove. (DECR_PC_AFTER_BREAK): Remove. (ABOUT_TO_RETURN): Remove. (REGISTER_SIZE): Remove. (NUM_REGS): Undef before redefine to 16 (no FP support). (REGISTER_NAMES): Undef before redefine. (FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove. (REGISTER_BYTES): Undef before redefine. (REGISTER_BYTE): Undef before redefine. (REGISTER_RAW_SIZE): Undef before redefine. (REGISTER_VIRTUAL_SIZE): Undef before redefine. (MAX_REGISTER_RAW_SIZE): Undef before redefine. (MAX_REGISTER_VIRTUAL_SIZE): Undef before redefine. (REGISTER_VIRTUAL_TYPE): Undef before redefine. (STORE_STRUCT_RETURN): Undef before redefine. (EXTRACT_RETURN_VALUE): Undef before redefine. (STORE_RETURN_VALUE): Undef before redefine. (EXTRACT_STRUCT_VALUE_ADDRESS): Remove. (FRAME_CHAIN): Undef before redefine. (FRAMELESS_FUNCTION_INVOCATION): Undef before redefine. (FRAME_SAVED_PC): Undef before redefine. (FRAME_ARGS_ADDRESS): Remove. (FRAME_LOCALS_ADDRESS): Remove. (FRAME_NUM_ARGS): Undef before redefine. (FRAME_ARGS_SKIP): Remove. (FRAME_FIND_SAVED_REGS): Remove. (PUSH_DUMMY_FRAME): Remove. (POP_FRAME): Remove. (CALL_DUMMY): Remove. (CALL_DUMMY_LENGTH): Remove. (CALL_DUMMY_START_OFFSET): Remove. (CALL_DUMMY_BREAKPOINT_OFFSET): Remove (FIX_CALL_DUMMY): Remove. (print_387_control_word): Remove. (print_387_status_word): Remove. (SP_ARG0): Remove. * config/i386/tm-symmetry.h: (TM_SYMMETRY_H): Enclose file in test for define & define if needed. (START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2. (DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define to 0. (MAX_REGISTER_RAW_SIZE): Remove. (FRAME_CHAIN): Remove. (FRAMELESS_FUNCTION_INVOCATION): Remove. (FRAME_SAVED_PC): Remove. (print_387_control_word, print_387_status_word): Remove prototypes. * config/i386/tm-ptx.h: (TM_PTX_H): Enclose file in test for define & define if needed. (START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2. (DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define to 0. (SDB_REG_TO_REGNUM): Remove obsolete commented out define. (print_387_control_word, print_387_status_word): Remove prototypes. * config/i386/tm-linux.h: (TM_LINUX_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. * config/i386/tm-i386v4.h: (TM_I386V4_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (FRAME_CHAIN): Moved to tm-i386.h. (FRAMELESS_FUNCTION_INVOCATION): Moved to tm-i386.h. (FRAME_SAVED_PC): Remove. (sigtramp_saved_pc): Define as i386v4_sigtramp_saved_pc. (FRAME_NUM_ARGS): Remove. * config/i386/tm-i386os9k.h: (TM_I386OS9K_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (NUM_REGS): Undefine before redefining. (FRAME_CHAIN): Remove. (FRAMELESS_FUNCTION_INVOCATION): Remove. (FRAME_SAVED_PC): Move to tm-i386.h. * config/i386/tm-i386nw.h: (TM_I386NW_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. * config/i386/tm-i386bsd.h: (TM_I386BSD_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (FRAMELESS_FUNCTION_INVOCATION): Remove. (FRAME_SAVED_PC): Remove. * config/i386/tm-i386aix.h: (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (FP_REGNUM): Remove. (SP_REGNUM): Remove. (PC_REGNUM): Remove. (PS_REGNUM): Remove. (FP0_REGNUM): Moved to tm-i386.h. (NUM_REGS): Remove. (REGISTER_NAMES): Remove. (REGISTER_BYTES): Moved to tm-i386.h. (REGISTER_BYTE): Moved to tm-i386.h. (REGISTER_RAW_SIZE): Moved to tm-i386.h. (MAX_REGISTER_RAW_SIZE): Moved to tm-i386.h. (REGISTER_VIRTUAL_SIZE): Moved to tm-i386.h. (REGISTER_VIRTUAL_TYPE): Removed. (EXTRACT_RETURN_VALUE): Moved to tm-i386.h. (STORE_RETURN_VALUE): Moved to tm-i386.h. * config/i386/tm-sun386.h: (TM_SUN386_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include. (TARGET_BYTE_ORDER): Remove. (FUNCTION_START_OFFSET): Remove. (SKIP_PROLOGUE): Remove. (SAVED_PC_AFTER_CALL): Remove. (INNER_THAN): Remove. (BREAKPOINT): Remove. (DECR_PC_AFTER_BREAK): Remove. (ABOUT_TO_RETURN): Remove. (REGISTER_SIZE): Remove. (NUM_REGS): Undefine before defining. (REGISTER_NAMES): Undefine before redefining. (REGISTER_BYTES): Undefine before redefining. (REGISTER_BYTE): Undefine before defining. (FP_REGNUM): Undefine before defining. (PC_REGNUM): Undefine before defining. (FPC_REGNUM): Undefine before defining. (REGISTER_RAW_SIZE): Undefine before defining. (FRAME_CHAIN): Undefine before defining. (FRAMELESS_FUNCTION_INVOCATION): Undefine before defining. (FRAME_SAVED_PC): Undefine before defining. (FRAME_NUM_ARGS): Moved to tm-i386.h. (MAX_REGISTER_RAW_SIZE): Remove. (MAX_REGISTER_VIRTUAL_SIZE): Remove. (STORE_STRUCT_RETURN): Remove. (EXTRACT_STRUCT_VALUE_ADDRESS): Remove. (FRAME_ARGS_ADDRESS): Remove. (FRAME_LOCALS_ADDRESS): Remove. (FRAME_NUM_ARGS): Undefine before defining. (FRAME_ARGS_SKIP): Remove. (FRAME_FIND_SAVED_REGS): Remove. (PUSH_DUMMY_FRAME): Remove. (POP_FRAME): Remove. (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET): Remove. (struct frame_info, struct frame_saved_regs): Remove forward decls for prototypes. * config/i386/tm-i386lynx.h (i386/tm-i386.h): Include instead of tm-i386v.h. * config/i386/tm-i386m3.h (i386/tm-i386.h): Include instead of tm-i386v.h.
1995-11-02 15:20:50 +00:00
#include "i386/tm-i386.h"
#include <sys/reg.h>
#ifndef I386
# define I386 1
#endif
#ifndef I386_AIX_TARGET
# define I386_AIX_TARGET 1
#endif
/* Nonzero if register N requires conversion
from raw format to virtual format. */
* config/i386/tm-i386.h: New file containing generic i*86 target definitions. (TARGET_BYTE_ORDER): Moved here from tm-i386v.h. (IEEE_FLOAT): Moved here from tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Define default as 2. (FUNCTION_START_OFFSET): Moved here from tm-i386v.h. (SKIP_PROLOGUE): Moved here from tm-i386v.h. (SAVED_PC_AFTER_CALL): Moved here from tm-i386v.h. (INNER_THAN): Moved here from tm-i386v.h. (BREAKPOINT): Moved here from tm-i386v.h. (DECR_PC_AFTER_BREAK): Moved here from tm-i386v.h. (ABOUT_TO_RETURN): Moved here from tm-i386v.h. (REGISTER_SIZE): Moved here from tm-i386v.h. (NUM_REGS): Moved here from tm-i386v.h. (REGISTER_NAMES): Moved here from tm-i386v.h. (EXTRACT_STRUCT_VALUE_ADDRESS): Moved here from tm-i386v.h. (FP_REGNUM): Moved here from tm-i386v.h. (SP_REGNUM): Moved here from tm-i386v.h. (PC_REGNUM): Moved here from tm-i386v.h. (PS_REGNUM): Moved here from tm-i386v.h. (FP0_REGNUM): Moved here from tm-i386aix.h. (FPC_REGNUM): Moved here from tm-sun386.h. (REGISTER_BYTES): Moved here from tm-i386aix.h. (REGISTER_BYTE): Moved here from tm-i386aix.h. (REGISTER_RAW_SIZE): Moved here from tm-i386aix.h. (MAX_REGISTER_RAW_SIZE): Moved here from tm-i386aix.h. (REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h. (MAX_REGISTER_VIRTUAL_SIZE): Moved here from tm-i386aix.h. (EXTRACT_RETURN_VALUE): Moved here from tm-i386aix.h. (STORE_RETURN_VALUE): Moved here from tm-i386aix.h. (REGISTER_VIRTUAL_TYPE): Moved here from tm-i386v.h. (STORE_STRUCT_RETURN): Moved here from tm-i386v.h. (FRAME_CHAIN): Moved here from tm-i386v4.h. (FRAMELESS_FUNCTION_INVOCATION): Moved here from tm-i386v4.h. (FRAME_SAVED_PC): Moved here from tm-i386os9k.h (FRAME_ARGS_ADDRESS): Moved here from tm-i386v.h. (FRAME_LOCALS_ADDRESS): Moved here from tm-i386v.h. (FRAME_NUM_ARGS): Moved here from tm-i386sun.h. (FRAME_ARGS_SKIP): Moved here from tm-i386v.h. (FRAME_FIND_SAVED_REGS): Moved here from tm-i386v.h. (PUSH_DUMMY_FRAME): Moved here from tm-i386v.h. (POP_FRAME): Moved here from tm-i386v.h. (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET, CALL_DUMMY_BREAKPOINT_OFFSET, FIX_CALL_DUMMY): Moved here from tm-i386v.h (print_387_control_word, print_387_status_word): Declare prototypes. (struct frame_info, struct frame_saved_regs): Forward decls for prototypes. (SP_ARG0): Moved here from tm-i386v.h. * config/i386/tm-i386v.h: (i386/tm-i386.h): Include. (TARGET_BYTE_ORDER): Remove. (IEEE_FLOAT): Remove. (START_INFERIOR_TRAPS_EXPECTED): Undef before redefine to 4. (FUNCTION_START_OFFSET): Remove. (SKIP_PROLOGUE): Remove. (i386_skip_prologue): Remove prototype. (SAVED_PC_AFTER_CALL): Remove. (INNER_THAN): Remove. (BREAKPOINT): Remove. (DECR_PC_AFTER_BREAK): Remove. (ABOUT_TO_RETURN): Remove. (REGISTER_SIZE): Remove. (NUM_REGS): Undef before redefine to 16 (no FP support). (REGISTER_NAMES): Undef before redefine. (FP_REGNUM, SP_REGNUM, PC_REGNUM, PS_REGNUM): Remove. (REGISTER_BYTES): Undef before redefine. (REGISTER_BYTE): Undef before redefine. (REGISTER_RAW_SIZE): Undef before redefine. (REGISTER_VIRTUAL_SIZE): Undef before redefine. (MAX_REGISTER_RAW_SIZE): Undef before redefine. (MAX_REGISTER_VIRTUAL_SIZE): Undef before redefine. (REGISTER_VIRTUAL_TYPE): Undef before redefine. (STORE_STRUCT_RETURN): Undef before redefine. (EXTRACT_RETURN_VALUE): Undef before redefine. (STORE_RETURN_VALUE): Undef before redefine. (EXTRACT_STRUCT_VALUE_ADDRESS): Remove. (FRAME_CHAIN): Undef before redefine. (FRAMELESS_FUNCTION_INVOCATION): Undef before redefine. (FRAME_SAVED_PC): Undef before redefine. (FRAME_ARGS_ADDRESS): Remove. (FRAME_LOCALS_ADDRESS): Remove. (FRAME_NUM_ARGS): Undef before redefine. (FRAME_ARGS_SKIP): Remove. (FRAME_FIND_SAVED_REGS): Remove. (PUSH_DUMMY_FRAME): Remove. (POP_FRAME): Remove. (CALL_DUMMY): Remove. (CALL_DUMMY_LENGTH): Remove. (CALL_DUMMY_START_OFFSET): Remove. (CALL_DUMMY_BREAKPOINT_OFFSET): Remove (FIX_CALL_DUMMY): Remove. (print_387_control_word): Remove. (print_387_status_word): Remove. (SP_ARG0): Remove. * config/i386/tm-symmetry.h: (TM_SYMMETRY_H): Enclose file in test for define & define if needed. (START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2. (DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define to 0. (MAX_REGISTER_RAW_SIZE): Remove. (FRAME_CHAIN): Remove. (FRAMELESS_FUNCTION_INVOCATION): Remove. (FRAME_SAVED_PC): Remove. (print_387_control_word, print_387_status_word): Remove prototypes. * config/i386/tm-ptx.h: (TM_PTX_H): Enclose file in test for define & define if needed. (START_INFERIOR_TRAPS_EXPECTED): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define back to 2. (DECR_PC_AFTER_BREAK): Move to after inclusion of tm-i386v4.h or tm-i386v.h, #undef, and #define to 0. (SDB_REG_TO_REGNUM): Remove obsolete commented out define. (print_387_control_word, print_387_status_word): Remove prototypes. * config/i386/tm-linux.h: (TM_LINUX_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. * config/i386/tm-i386v4.h: (TM_I386V4_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (FRAME_CHAIN): Moved to tm-i386.h. (FRAMELESS_FUNCTION_INVOCATION): Moved to tm-i386.h. (FRAME_SAVED_PC): Remove. (sigtramp_saved_pc): Define as i386v4_sigtramp_saved_pc. (FRAME_NUM_ARGS): Remove. * config/i386/tm-i386os9k.h: (TM_I386OS9K_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (NUM_REGS): Undefine before redefining. (FRAME_CHAIN): Remove. (FRAMELESS_FUNCTION_INVOCATION): Remove. (FRAME_SAVED_PC): Move to tm-i386.h. * config/i386/tm-i386nw.h: (TM_I386NW_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. * config/i386/tm-i386bsd.h: (TM_I386BSD_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (FRAMELESS_FUNCTION_INVOCATION): Remove. (FRAME_SAVED_PC): Remove. * config/i386/tm-i386aix.h: (i386/tm-i386.h): Include instead of tm-i386v.h. (START_INFERIOR_TRAPS_EXPECTED): Remove. (FP_REGNUM): Remove. (SP_REGNUM): Remove. (PC_REGNUM): Remove. (PS_REGNUM): Remove. (FP0_REGNUM): Moved to tm-i386.h. (NUM_REGS): Remove. (REGISTER_NAMES): Remove. (REGISTER_BYTES): Moved to tm-i386.h. (REGISTER_BYTE): Moved to tm-i386.h. (REGISTER_RAW_SIZE): Moved to tm-i386.h. (MAX_REGISTER_RAW_SIZE): Moved to tm-i386.h. (REGISTER_VIRTUAL_SIZE): Moved to tm-i386.h. (REGISTER_VIRTUAL_TYPE): Removed. (EXTRACT_RETURN_VALUE): Moved to tm-i386.h. (STORE_RETURN_VALUE): Moved to tm-i386.h. * config/i386/tm-sun386.h: (TM_SUN386_H): Enclose file in test for define & define if needed. (i386/tm-i386.h): Include. (TARGET_BYTE_ORDER): Remove. (FUNCTION_START_OFFSET): Remove. (SKIP_PROLOGUE): Remove. (SAVED_PC_AFTER_CALL): Remove. (INNER_THAN): Remove. (BREAKPOINT): Remove. (DECR_PC_AFTER_BREAK): Remove. (ABOUT_TO_RETURN): Remove. (REGISTER_SIZE): Remove. (NUM_REGS): Undefine before defining. (REGISTER_NAMES): Undefine before redefining. (REGISTER_BYTES): Undefine before redefining. (REGISTER_BYTE): Undefine before defining. (FP_REGNUM): Undefine before defining. (PC_REGNUM): Undefine before defining. (FPC_REGNUM): Undefine before defining. (REGISTER_RAW_SIZE): Undefine before defining. (FRAME_CHAIN): Undefine before defining. (FRAMELESS_FUNCTION_INVOCATION): Undefine before defining. (FRAME_SAVED_PC): Undefine before defining. (FRAME_NUM_ARGS): Moved to tm-i386.h. (MAX_REGISTER_RAW_SIZE): Remove. (MAX_REGISTER_VIRTUAL_SIZE): Remove. (STORE_STRUCT_RETURN): Remove. (EXTRACT_STRUCT_VALUE_ADDRESS): Remove. (FRAME_ARGS_ADDRESS): Remove. (FRAME_LOCALS_ADDRESS): Remove. (FRAME_NUM_ARGS): Undefine before defining. (FRAME_ARGS_SKIP): Remove. (FRAME_FIND_SAVED_REGS): Remove. (PUSH_DUMMY_FRAME): Remove. (POP_FRAME): Remove. (CALL_DUMMY, CALL_DUMMY_LENGTH, CALL_DUMMY_START_OFFSET): Remove. (struct frame_info, struct frame_saved_regs): Remove forward decls for prototypes. * config/i386/tm-i386lynx.h (i386/tm-i386.h): Include instead of tm-i386v.h. * config/i386/tm-i386m3.h (i386/tm-i386.h): Include instead of tm-i386v.h.
1995-11-02 15:20:50 +00:00
#undef REGISTER_CONVERTIBLE
#define REGISTER_CONVERTIBLE(N) \
((N < FP0_REGNUM) ? 0 : 1)
* findvar.c (value_of_register, value_from_register), hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info), valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if REGISTER_CONVERTIBLE is defined, otherwise just copy the content. Pass desired type to REGISTER_CONVERT_TO_*. * config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*): Pass length of desired type to store/extract_floating. * config/i386/tm-arm.h, config/i386/tm-i386aix.h, config/i386/tm-sun386.h, config/i386/tm-symmetry.h, config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*): Use extract_floating and store_floating with length of desired type. * config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type parameter to REGISTER_CONVERT_*. * config/a29k/tm-a29k.h, config/convex/tm-convex.h, config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, config/i386/tm-i386v.h, config/mips/tm-mips.h, config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h, config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h, config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove versions for which REGISTER_CONVERTIBLE is always false. * z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw): Remove, no longer used. * alpha-tdep.c (alpha_register_convert_to_raw, alpha_register_convert_to_virtual): New routines to handle the different raw formats in alpha floating point registers. * config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them.
1993-11-02 21:51:10 +00:00
/* Convert data from raw format for register REGNUM in buffer FROM
to virtual format with type TYPE in buffer TO. */
#undef REGISTER_CONVERT_TO_VIRTUAL
* findvar.c (value_of_register, value_from_register), hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info), valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if REGISTER_CONVERTIBLE is defined, otherwise just copy the content. Pass desired type to REGISTER_CONVERT_TO_*. * config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*): Pass length of desired type to store/extract_floating. * config/i386/tm-arm.h, config/i386/tm-i386aix.h, config/i386/tm-sun386.h, config/i386/tm-symmetry.h, config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*): Use extract_floating and store_floating with length of desired type. * config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type parameter to REGISTER_CONVERT_*. * config/a29k/tm-a29k.h, config/convex/tm-convex.h, config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, config/i386/tm-i386v.h, config/mips/tm-mips.h, config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h, config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h, config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove versions for which REGISTER_CONVERTIBLE is always false. * z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw): Remove, no longer used. * alpha-tdep.c (alpha_register_convert_to_raw, alpha_register_convert_to_virtual): New routines to handle the different raw formats in alpha floating point registers. * config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them.
1993-11-02 21:51:10 +00:00
#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
* findvar.c (value_of_register, value_from_register), hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info), valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if REGISTER_CONVERTIBLE is defined, otherwise just copy the content. Pass desired type to REGISTER_CONVERT_TO_*. * config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*): Pass length of desired type to store/extract_floating. * config/i386/tm-arm.h, config/i386/tm-i386aix.h, config/i386/tm-sun386.h, config/i386/tm-symmetry.h, config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*): Use extract_floating and store_floating with length of desired type. * config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type parameter to REGISTER_CONVERT_*. * config/a29k/tm-a29k.h, config/convex/tm-convex.h, config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, config/i386/tm-i386v.h, config/mips/tm-mips.h, config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h, config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h, config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove versions for which REGISTER_CONVERTIBLE is always false. * z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw): Remove, no longer used. * alpha-tdep.c (alpha_register_convert_to_raw, alpha_register_convert_to_virtual): New routines to handle the different raw formats in alpha floating point registers. * config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them.
1993-11-02 21:51:10 +00:00
#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \
{ \
double val = extract_floating ((FROM), TYPE_LENGTH (TYPE)); \
double_to_i387((char *)&val, (TO)); \
* findvar.c (value_of_register, value_from_register), hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info), valops.c (value_assign): Use REGISTER_CONVERT_TO_* only if REGISTER_CONVERTIBLE is defined, otherwise just copy the content. Pass desired type to REGISTER_CONVERT_TO_*. * config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*): Pass length of desired type to store/extract_floating. * config/i386/tm-arm.h, config/i386/tm-i386aix.h, config/i386/tm-sun386.h, config/i386/tm-symmetry.h, config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*): Use extract_floating and store_floating with length of desired type. * config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE): Add type parameter to REGISTER_CONVERT_*. * config/a29k/tm-a29k.h, config/convex/tm-convex.h, config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, config/i386/tm-i386v.h, config/mips/tm-mips.h, config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h, config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h, config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL): Remove versions for which REGISTER_CONVERTIBLE is always false. * z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw): Remove, no longer used. * alpha-tdep.c (alpha_register_convert_to_raw, alpha_register_convert_to_virtual): New routines to handle the different raw formats in alpha floating point registers. * config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE, REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Use them.
1993-11-02 21:51:10 +00:00
}
extern void
double_to_i387 PARAMS ((char *, char *));
#endif /* TM_I386AIX_H */