defined, define as 0.
(FIX_CALL_DUMMY): Rewrite to remove presumption that host and
target are similar.
* config/mips/tm-idt.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
* config/mips/tm-idtl.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
* config/mips/tm-idt64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Remove definition.
* config/mips/tm-idtl64.h (TARGET_BYTE_ORDER_SELECTABLE): Define.
(BREAKPOINT): Remove definition.
* config/mips/tm-mips64.h (GDB_TARGET_IS_MIPS64): Define with a
value of 1, rather than without a value.
* config/mips/tm-bigmips64.h (GDB_TARGET_IS_MIPS64): Likewise.
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.
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.
* 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.
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.
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.
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.
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.
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.