22 Commits

Author SHA1 Message Date
4df6dcd10d * config/mips/tm-mips.h (SETUP_ARBITRARY_FRAME): Revise comment
regarding using the PC--using the PC is necessary and all the
	FIXME comments in the world won't make it go away.
1994-03-25 01:38:24 +00:00
b5aff26825 * mips-tdep.c (mips_step_skips_delay), config/mips/tm-mips.h
(STEP_SKIPS_DELAY): Added.
	* infrun.c (proceed) [STEP_SKIPS_DELAY]: Check for a breakpoint in
	the delay slot.
1994-03-01 00:15:07 +00:00
084475102b * config/mips/tm-mips.h (FIX_CALL_DUMMY): For big endian targets,
error() on TYPE_CODE_FLT arguments whose size is greater than 8,
	swap all other TYPE_CODE_FLT arguments as mips_push_arguments
	ensures that floats are promoted to doubles before they are pushed
	on the stack.
1994-02-19 11:26:47 +00:00
031b390acb Modified Files:
tm-mips64.h tm-mips.h

	Change REGISTER_VIRTUAL_TYPE to handle 64 bit register.
1994-02-19 00:50:48 +00:00
4fbce2fdd2 Added Files:
bigmips64.mt idt64.mt idtl64.mt littlemips64.mt tm-bigmips64.h
	tm-idt64.h tm-idtl64.h tm-mips64.h

	Add the above files to support mips 64 bits target.
1994-02-18 01:21:36 +00:00
14d7956255 * mips-tdep.c: Remove code which sets saved_regs from
init_extra_frame_info and put it in new function mips_find_saved_regs.
	(READ_FRAME_REG): Remove macro and replace uses with the expansion.
	* mips-tdep.c, config/mips/tm-mips.h: When examining ->saved_regs,
	check if it is NULL and call mips_find_saved_regs if so.
1994-01-31 21:22:44 +00:00
f0d2557ca4 * config/i386/tm-i386v.h, config/m68k/tm-m68k.h, config/mips/tm-mips.h,
config/vax/tm-vax.h (CALL_DUMMY_BREAKPOINT_OFFSET):  Define.
1994-01-07 21:02:39 +00:00
f4f0d17487 * valops.c (call_function_by_hand, push_word), defs.h (push_word),
convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c,
	ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c,
	config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c:
	Use REGISTER_SIZE, unsigned LONGEST, and
	{store,extract}_unsigned_integer, instead of sizeof
	(REGISTER_TYPE) and REGISTER_TYPE.
	* All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE.
	* hppa-tdep.c (pa_print_fp_reg): Remove unused variable val.

	* Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c.
	Add lynx-nat.c.
1993-12-26 18:10:22 +00:00
e03c0cc670 Added Irix 5 support.
* configure.in (mips-sgi-irix5*): New host and target.  Use irix5
	for both.
	* config/mips/irix5.mh, config/mips/irix5.mt,
	config/mips/xm-irix5.h, config/mips/nm-irix5.h,
	config/mips/tm-irix5.h, irix5-nat.c: New files for Irix 5 support.
	* mdebugread.c: New file, split out of mipsread.c.  Added
	elfmdebug_build_psymtabs routine.  Added some checks on external
	symbols.  Changed code to keep ecoff_debug_info and
	ecoff_debug_swap structs in the psymtab and in global pointers
	rather than retrieving them from the bfd.  Also changed to keep
	the pending list with the psymtab rather than the objfile (each
	psymtab for a single objfile points to the same pending list).
	* mipsread.c: Bulk of file moved into mdebugread.c, leaving just
	the sym_fns.
	* Makefile.in (SFILES): Added mdebugread.c.
	(OBS): Added mdebugread.o.
	(mdebugread.o): New target.
	* symfile.h: Declare mdebug_build_psymtabs and
	elfmdebug_build_psymtabs.
	* elfread.c (struct elfinfo): Added mdebugsect field.
	(elf_locate_sections): Remember location of .mdebug section.
	(elf_symfile_read): Call elfmdebug_build_psymtabs on .mdebug
	section.
	* infrun.c (AT_FUNCTION_START): Set to 0 if not already defined.
	(wait_for_inferior): Use AT_FUNCTION_START if it is defined to see
	if PC is at the start of a function.
	* mips-tdep.c (read_next_frame_reg): Use SIGFRAME_REG_SIZE, and
	give it a default definition.
	(mips_skip_prologue): Skip instructions which initialize $gp
	register.
	(in_sigtramp): New procedure, moved in from mipsread.c.
	* config/mips/tm-mips.h: Declare in_sigtramp.
1993-12-06 17:31:05 +00:00
ad09cb2bd3 * 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
0c28fe8dd4 * config/mips/tm-mips.h (STORE_STRUCT_RETURN): Define as noop as 1993-09-23 07:24:22 +00:00
8b15c4801a * config/mips/tm-mips.h (ECOFF_REG_TO_REGNUM): Define. 1993-09-16 07:39:41 +00:00
ade40d3153 bcopy -> memcpy 1993-09-01 20:37:15 +00:00
e8239c2ffc * config/mips/tm-mips.h (EXTRACT_STRUCT_VALUE_ADDRESS):
Get struct return address from v0, not a0.
1993-08-27 00:33:20 +00:00
138dd57ce0 * config/mips/tm-mips.h (EXTRACT_STRUCT_VALUE_ADDRESS):
Get struct return address from v0, not a0.
1993-08-26 21:49:40 +00:00
05e9e18869 * config/mips/tm-mips.h: Include bfd.h before coff/sym.h. 1993-08-04 01:35:35 +00:00
ee5fb95969 * mips-tdep.c (mips_skip_prologue): New argument lenient.
Use read_memory_nobpt.
	(is_delayed, mips_in_lenient_prologue): New functions.
	(init_extra_frame_info): If in the prologue, don't use saved registers.
	* config/mips/tm-mips.h: Declare mips_skip_prologue.
1993-07-19 02:28:21 +00:00
75fa3e0fd2 * Remove unused STACK_END_ADDR in the following files (in other
files it is used for something): tm-mips.h, tm-sun2.h, tm-news.h,
	tm-a29k, tm-i386v.h, tm-hppa.h, tm-nindy960.h, tm-amix.h,
	tm-hp300hpux.h, tm-isi.h.
1993-07-02 18:48:44 +00:00
7c86bda2a1 * mips-tdep.c: Remove isa_NAN; it assumed sizeof(host int) == 4 and
probably contained byte-order sins too.
	config/mips/tm-mips.h (INVALID_FLOAT): Define to 0 like most machines.
	The IEEE_FLOAT code in print_floating takes care of it.
1993-06-12 22:12:45 +00:00
ac8cf67dca * config/mips/tm-irix3.h: Clean up, use tm-bigmips.h and redefine
the necessary bits.
	* findvar.c (value_from_register): Fix uninitialized first_addr
	which caused problems with assignment of doubles to register variables
	on some targets.
	* mipsread.c: Remove TM_FILE_OVERRIDE, include tm.h and provide the
	missing mips definitions if necessary.

	Fix handling of double register variables for mips targets and big
	endian hosts. These patches are from Paul Flinders <ptf@delcam.co.uk>.
	* config/mips/tm-mips.h: Increase MAX_REGISTER_{RAW,VIRTUAL}_SIZE to
	  8 bytes for doubles.
	* config/mips/tm-mips.h (REGISTER_CONVERT_TO_TYPE): New macro for
	  conversion of type held in multiple registers to host format.
	* config/mips/tm-mips.h (REGISTER_CONVERT_FROM_TYPE): New macro,
	  companion to REGISTER_CONVERT_TO_TYPE.
	* config/mips/tm-mips.h (EXTRACT_RETURN_VALUE, STORE_RETURN_VALUE):
	  Convert to function calls.
	* config/mips/tm-mips.h (FIX_CALL_DUMMY): New code for big endian
	  mips targets.
	* mips-tdep.c (mips_print_register): Raw buffer now needs just
	  MAX_REGISTER_RAW_SIZE bytes.
	* mips-tdep.c (mips_print_register): Use REGISTER_CONVERT_TO_TYPE
	  (if defined) for doubles.
	* mips-tdep.c: (mips_extract_return_value, mips_store_return_value):
	  New functions, take care of REGISTER_CONVERT_TO/FROM_TYPE.
	* valops.c (value_assign): Use REGISTER_CONVERT_TO_TYPE if
	  defined.
	* findvar.c (value_from_register): Use REGISTER_CONVERT_TO_TYPE if
	  defined.
1993-05-22 07:26:25 +00:00
0142214462 * config/mips/tm-mips.h (STABS_REG_TO_REGNUM): Match it with the gcc
definition.
	* config/mips/tm-irix3.h (STABS_REG_TO_REGNUM): Add.
1993-05-01 09:56:13 +00:00
5076de826c * config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
	* nm-*, xm-*, tm-*:  All native, host, and target files, which
	get linked to nm.h, xm.h, and tm.h respectively by configure,
	moved to appropriate config/<cpu> subdirectory.
1993-03-23 01:19:58 +00:00