Commit graph

32 commits

Author SHA1 Message Date
Mark Kettenis
ed84f6c149 * i386-tdep.c (i386_saved_pc_after_call): New function.
* config/i386/tm-i386.h (SAVED_PC_AFTER_CALL): Redefine in terms
of i386_saved_pc_after_call.
(i386_saved_pc_after_call): New prototype.
2001-04-17 23:20:55 +00:00
Mark Kettenis
c833a37e77 * i386-tdep.c (i386_frame_chain): New function.
* config/i386/tm-i386.h (FRAME_CHAIN): Redefine in terms of
i386_frame_chain.
(i386_frame_chain): New prototype.
2001-04-16 13:03:15 +00:00
Mark Kettenis
f7af964784 * i386-tdep.c (i386_extract_struct_value_address): New function.
* config/i386/tm-i386.h (EXTRACT_STRUCT_VALUE_ADDRESS): Redefine
in terms of i386_extract_struct_value_address.
(i386_extract_struct_value_address): New prototype.
2001-04-01 12:39:52 +00:00
Mark Kettenis
22f8ba5774 * i386-tdep.c (i386_push_arguments, i386_store_struct_return): New
functions.
* config/i386/tm-i386.h (PUSH_ARGUMENTS): New macro.
(STORE_STRUCT_RETURN): Redefine in terms of
i386_store_struct_return.
(i386_push_arguments, i386_store_struct_return): New prototypes.
* config/i386/tm-i386v.h (STORE_STRUCT_RETURN): Remove.  It's
definition was identical to the definition in "i386/tm-i386.h" so
the new definition should suffice too.
2001-03-26 12:11:14 +00:00
Andrew Cagney
f88e2c5226 Include regcache.h 2001-03-14 23:23:16 +00:00
Kevin Buettner
b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Nicholas Duffek
cc533b9d85 * config/i386/tm-i386.h (REGISTER_CONVERT_TO_VIRTUAL,
REGISTER_CONVERT_TO_RAW): Delete trailing semicolon.
2001-01-04 15:46:22 +00:00
Mark Kettenis
ef9dff19c4 * i386-tdep.c: Add missing ')' in comment.
(i386_extract_return_value): Return directly after issuing the
warning and filling *VALBUF with zeroes if we cannot get at the
floating-point registers.
(i386_store_return_value): New function.
* config/i386/tm-i386.h (STORE_RETURN_VALUE): Simply call
i386_store_return_value.
Add prototype for i386_store_return_value.
2000-12-21 20:52:59 +00:00
Michael Snyder
6dff448f84 2000-07-21 Michael Snyder <msnyder@cleaver.cygnus.com>
* config/i386/tm-i386.h: treat PC and FP as unsigned.
      (SAVED_PC_AFTER_CALL): Use read_memory_unsigned_integer.
      (FRAME_SAVED_PC): Ditto.
      (FRAME_CHAIN): Ditto.
2000-07-21 20:52:27 +00:00
Mark Kettenis
a7769679c2 * config/i386/tm-i386.h: Add forward declaration of `struct value'.
(FIX_CALL_DUMMY): Redefined to call i386_fix_call_dummy.
(i386_fix_call_dummy): Add prototype.
* i386-tdep.c (i386_fix_call_dummy): New function based on the
code from the old FIX_CALL_DUMMY macro.
2000-06-12 01:44:35 +00:00
Kevin Buettner
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Jim Blandy
7355ddbace Bring IEEE_FLOAT under gdbarch's control.
* gdbarch.sh (IEEE_FLOAT): New entry.
* gdbarch.c, gdbarch.h: Regenerated.
* valprint.c (IEEE_FLOAT): Provide a default #definition for this.
(print_floating): Use IEEE_FLOAT as if it were an expression; use
the code specific to IEEE-format numbers whenever the value of
IEEE_FLOAT is non-zero.
* config/a29k/tm-a29k.h, config/alpha/tm-alpha.h,
config/arc/tm-arc.h, config/arm/tm-arm.h, config/fr30/tm-fr30.h,
config/h8300/tm-h8300.h, config/i386/tm-i386.h,
config/i960/tm-i960.h, config/m88k/tm-m88k.h,
config/mips/tm-mips.h, config/pa/tm-hppa.h,
config/sparc/tm-sparc.h, config/delta/tm-delta.h,
config/frv/tm-frv.h (IEEE_FLOAT): For all ports that #define
IEEE_FLOAT, make sure they give it the value (1).
2000-04-14 19:14:19 +00:00
Mark Kettenis
6e2e8c243b 2000-03-27 Mark Kettenis <kettenis@gnu.org>
* config/i386/tm-i386.h: Fix typo.  It is TARGET_LONG_DOUBLE_BIT
	instead of TARGET_LONG_DOUBLE_BITS.
	* config/i386/tm-i386mk.h: Likewise.
2000-03-26 22:10:59 +00:00
Mark Kettenis
ac27f131b2 2000-03-26 Mark Kettenis <kettenis@gnu.org>
Provide `long double' support for most i386 targets.
	* config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT): Define as
	&floatformat_i387_ext.
	(TARGET_LONG_DOUBLE_BITS): Define as 96.
	(REGISTER_VIRTUAL_TYPE): Change type for FPU registers to
	`builtin_type_long_double'.
	(REGISTER_CONVERT_TO_VIRTUAL): Call
	i386_register_convert_to_virtual.
	(REGISTER_CONVERT_TO_RAW): Call i386_register_convert_to_raw.
	(i387_to_double, double_to_i387): Remove prototypes.
	(i386_extract_return_value): Change prototype to match definition
	in i386-tdep.c.
	* config/i386/tm-i386mk.h (TARGET_LONG_DOUBLE_FORMAT): #undef.
	(TARGET_LONG_DOUBLE_BITS): #undef.
	* config/i386/tm-linux.h (TARGET_LONG_DOUBLE_BIT): Remove.
	[HAVE_LONG_DOUBLE && HOST_I386] (LD_I387): Remove.
	(i387_extract_floating, i387_store_floating): Remove prototypes.
	(TARGET_EXTRACT_FLOATING, TARGET_STORE_FLOATING): Remove.
	(REGISTER_CONVERT_TO_VIRTUAL, REGOISTER_CONVERT_TO_RAW): Remove.
	(REGISTER_VIRTUAL_TYPE): Remove.
	* i386-tdep.c (i386_register_convert_to_virtual): New function.
	(i386_register_convert_to_raw): New function.
	* i387-tdep.c [LD_I387] (i387_extract_floating): Remove.
	(i387_store_floating): Remove.
2000-03-26 21:21:50 +00:00
Andrew Cagney
1211c4e429 From J.T.: Convert i386 to updated frame_saved_regs. 2000-02-29 13:28:24 +00:00
Jason Molenda
de57eccd12 import gdb-1999-12-07 snapshot 1999-12-08 02:51:13 +00:00
Jason Molenda
4ce44c668d import gdb-1999-11-16 snapshot 1999-11-17 02:31:06 +00:00
Jason Molenda
e514a9d642 import gdb-1999-10-25 snapshot 1999-10-26 03:43:48 +00:00
Jason Molenda
917317f4c6 import gdb-1999-10-18 snapshot 1999-10-19 02:47:02 +00:00
Jason Molenda
2df3850c7b import gdb-1999-10-11 snapshot 1999-10-12 04:37:53 +00:00
Jason Molenda
104c1213b4 import gdb-1999-08-30 snapshot 1999-08-31 01:14:27 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Jason Molenda
392a587b05 import gdb-1999-05-25 snapshot 1999-05-25 18:09:09 +00:00
Stan Shebs
b83266a0e1 import gdb-19990504 snapshot 1999-05-05 14:45:51 +00:00
Stan Shebs
7a292a7adf import gdb-19990422 snapshot 1999-04-26 18:34:20 +00:00
Stan Shebs
c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs
071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Andrew Cagney
3a0c96a996 CARP:
Rewrite INNER_THAN so that it takes parameters.
1998-11-28 22:53:04 +00:00
Andrew Cagney
679ce73102 CARP: Delete ABOUT_TO_RETURN across all targets. 1998-11-26 11:13:01 +00:00
Mark Alexander
bd06c4e4d3 * config/i386/tm-i386.h (STORE_STRUCT_RETURN): Make it
work on hosts of any endianness.
1998-07-24 20:38:43 +00:00
Fred Fish
e33aefba5a * i386v4-nat.c (supply_gregset, fill_gregset): Subtract NUM_FREGS
from NUM_REGS to get number of general registers that we care about.
	Update copyright to 1996.
	* config/i386/tm-i386.h (REGISTER_BYTES): Define in terms
	of number of general regs and number of floating point regs.
	Update copyright to 1996.
1996-01-04 07:23:24 +00:00
Fred Fish
7ee7dc27b0 * 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