aboutsummaryrefslogtreecommitdiff
path: root/gdb/mips-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2000-02-22Bring COERCE_FLOAT_TO_DOUBLE under gdbarch's control.Jim Blandy1-0/+19
* valops.c (COERCE_FLOAT_TO_DOUBLE): Rework definition to be more function-like. (default_coerce_float_to_double, standard_coerce_float_to_double): New functions. (value_arg_coerce): Adjust for new definition. * value.h (default_coerce_float_to_double, standard_coerce_float_to_double): New declarations for the above. * gdbarch.sh (coerce_float_to_double): New entry, replacing macro. * gdbarch.c, gdbarch.h: Regenerated. * tm-alpha.h, tm-fr30.h, tm-m32r.h, tm-mips.h, tm-hppa.h, tm-rs6000.h, tm-sh.h, tm-sparc.h (COERCE_FLOAT_TO_DOUBLE): Change definitions. * mips-tdep.c (mips_coerce_float_to_double): Supply our own custom function here. (mips_gdbarch_init): Install that as our coerce_float_to_double function.
1999-12-22import gdb-1999-12-21 snapshotJason Molenda1-2/+13
1999-12-14import gdb-1999-12-13 snapshotJason Molenda1-1/+1
1999-12-07import gdb-1999-12-06 snapshotJason Molenda1-0/+311
1999-10-05import gdb-1999-10-04 snapshotJason Molenda1-1/+2
1999-09-09import gdb-1999-09-08 snapshotStan Shebs1-6/+4
1999-08-23import gdb-1999-08-23 snapshotJason Molenda1-2/+7
1999-07-12import gdb-1999-07-12 snapshotJason Molenda1-3/+80
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-887/+982
1999-07-07import gdb-1999-07-07 pre reformatJason Molenda1-0/+2
1999-06-14import gdb-1999-06-14 snapshotJason Molenda1-2/+9
1999-06-07import gdb-1999-06-07 snapshotJason Molenda1-22/+48
1999-05-11import gdb-1999-05-10Stan Shebs1-12/+20
1999-04-26import gdb-19990422 snapshotStan Shebs1-52/+229
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+3259
1999-04-16Initial creation of sourceware repositoryStan Shebs1-3496/+0
1998-12-28hp merge changes -- too numerous to mention here; see ChangeLog andDavid Taylor1-8/+7
ChangeLog-gdbtk for details.
1998-12-19 * mips-tdep.c (mips32_heuristic_proc_desc): Clear temp_saved_regsStu Grossman1-6/+9
on restart. Fixes problem with backtracing through functions that use virtual frame pointers.
1998-12-18Missed this file:Andrew Cagney1-0/+1
* config/mips/tm-mips.h (enum mips_fpu_type, mips_fpu): Move to mips-tdep.c.
1998-12-18CARP/vr4xxx:Andrew Cagney1-90/+171
Rewrite ``set mipsfpu'' command so that it works with the multi-arch framework. For vr4111 and vr4121 disable the FPU.
1998-12-18CARP:Andrew Cagney1-12/+30
Pass gdbarch_info by value to the arch init function. Review doco. Update mips-tdep.c
1998-12-16CARP:Andrew Cagney1-0/+127
For MIPS, multi-arch MIPS_EABI, MIPS_LAST_FP_ARG_REGNUM, MIPS_LAST_ARG_REGNUM.
1998-12-12CARP: Mechanism to replace EXTRA_FRAME_INFO.Andrew Cagney1-23/+17
Add two pointers (saved_regs, extra_info) to struct frame_info. Introduce new macro FRAME_INIT_SAVED_REGS which replaces FRAME_FIND_SAVED_REGS. Document. Use in mn10300 and rs6000 targets. Fix side effects on ALPHA, MIPS, Z8K and SPARC targets.
1998-12-10CARP:Andrew Cagney1-35/+49
Rename REGISTER_NAMES{} -> REGISTER_NAME().
1998-11-23CARP: Convert macro definitions of USE_STRUCT_CONVENTION into targetAndrew Cagney1-12/+53
specific functions.
1998-06-23Tue Jun 23 11:14:04 1998 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-16/+62
* config/mips/tm-irix5.h: Modify to work better on irix 6, by making FP registers 8 bytes instead of 4. REGISTER_BYTES: redefine. REGISTER_BYTE(): redefine. REGISTER_VIRTUAL_TYPE: redefine. MIPS_LAST_ARG_REGNUM: redefine. * irix5-nat.c (fetch_core_registers): read 8 bytes per FP register. * mips-tdep.c (FP_REGISTER_DOUBLE): new macro to distinguish targets with 8-byte FP registers (don't use TARGET_MIPS64). (STACK_ARGSIZE): new macro, how much space is taken up on the stack for each function argument (don't use TARGET_MIPS64). (mips_push_arguments): modify logic to work better on Irix 6 (n32 ABI).
1998-04-21* MIPS CPU-specific dissasembly extensions. Now TM_PRINT_INSN_MACH from tm.hFrank Ch. Eigler1-2/+441
sets a default mach for disassembly, just like sparc port. c.f. PR 15371. Tue Apr 21 11:20:54 1998 Frank Ch. Eigler <fche@cygnus.com> * mips-tdep.c (gdb_print_insn_mips): Disassemble MIPS instructions with subtarget-specific `mach', rather than fixed default. * config/mips/tm-mips.h (TM_PRINT_INSN_MACH): New macro, default disassembly `mach'. start-sanitize-r5900 * config/mips/tm-r5900.h (TM_PRINT_INSN_MACH): Override. end-sanitize-r5900 start-sanitize-sky * config/mips/tm-txvu.h (TM_PRINT_INSN_MACH): Override. end-sanitize-sky
1998-04-09 * mips-tdep.c (do_fp_register_row): Use alloca rather than arraysIan Lance Taylor1-2/+6
with dynamic size.
1998-04-05Declare array using MAX_REGISTER_RAW_SIZE, not REGISTER_RAW_SIZE(X)Andrew Cagney1-20/+44
1997-09-30 * mips-tdep.c (set_reg_offset): New function.Mark Alexander1-43/+73
(mips16_heuristic_proc_desc): Calculate offsets of registers saved by entry pseudo-op after rest of prologue has been read. Use set_reg_offset to ignore all but the first save of a given register. (mips32_heuristic_proc_desc): Initialize frame adjustment value. * remote-sim.c (gdbsim_store_register): Don't update registers that have a null or empty name. * findvar.c (read_register_bytes): Don't fetch registers that have a null or empty name.
1997-09-26 * config/mips-tm-mips.h (mips_extra_func_info): New frame_adjustMark Alexander1-11/+15
member for storing offset of MIPS16 frame pointer from SP. * mips-tdep.c: Use RA_REGNUM instead of hardcoded 31 throughout. (PROC_FRAME_ADJUST): Define. (mips16_heuristic_proc_desc): Store frame pointer adjustment value. (get_frame_pointer): Use frame pointer adjustment value when calculating frame address. * remote-sim.c (gdbsim_fetch_register): Don't fetch registers that have a null or empty name. start-sanitize-tx19 * config/mips/tm-tx19.h (MIPS_DEFAULT_FPU_TYPE): Define. (REGISTER_NAMES): Redefine to eliminate FP registers. * config/mips/tm-tx19l.h: Ditto. end-sanitize-tx19
1997-09-26 * configure.tgt: Set gdb_target to r5900.Jeff Law1-3/+15
* config/mips/tm-r5900.h, config/mips/r5900.mt: New files * mips-tdep.c (_initialize_mips_tdep): Allow target files to override default FPU type. Brought over from r5900 branch.
1997-09-15 * dbxread.c (MSYMBOL_SIZE): New macro.Mark Alexander1-52/+186
(end_psymtab): Use MSYMBOL_SIZE to extract size from minimal symbol. * elfread.c (elf_symtab_read): If ELF symbol is "special", such as a MIPS16 function, mark minimal symbol as special too. * mips-tdep.c (pc_is_mips16): New function to check whether a function is MIPS16 by looking at the minimal symbol. Use pc_is_mips16 throughout instead of IS_MIPS16_ADDR macro. * config/mips/tm-mips.h (SYMBOL_IS_SPECIAL, MAKE_MSYMBOL_SPECIAL, MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): New functions for setting/testing "special" MIPS16 bit in ELF and minimal symbols. * mdebugread.c (parse_partial_symbols): Don't construct a partial symbol table for a file that already has one. start-sanitize-tx19 * configure.tgt: Support TX19. * config/mips/tm-tx19.h, config/mips/tm-tx19l.h, config/mips/tx19.mt, config/mips/tx19l.mt: New files for TX19. end-sanitize-tx19
1997-07-04Thu Jul 3 17:41:46 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-2/+1
* mips-tdep.c (mips_extract_return_value): align 4-byte float return values within the 8-byte FP register.
1997-07-03Thu Jul 3 13:48:11 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-8/+8
* mips-tdep.c (mips_push_arguments): don't left-adjust 32-bit integers in 64-bit register parameters before function calls.
1997-07-01Mon Jun 30 17:54:51 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-29/+46
* mips-tdep.c (mips_push_arguments): special-case handling for odd-sized struct parameters passed in registers / on stack.
1997-06-30Mon Jun 30 15:30:38 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-9/+16
* mips-tdep.c (mips_push_arguments): tweak alignment of small structs passed in registers for little-endian non-EABI mode.
1997-06-28Fri Jun 27 21:05:45 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-1/+17
* mips-tdep.c (mips_push_arguments): handle alignment of integer and struct args on stack for mips64 big-endian.
1997-06-28Fri Jun 27 19:19:12 1997 Michael Snyder (msnyder@cleaver.cygnus.com)Michael Snyder1-12/+31
* config/mips/tm-mips.h (USE_STRUCT_CONVENTION): MIPS_EABI returns structs in a register wherever possible.
1997-06-17 * infrun.c (wait_for_inferior): Mark registers as invalid whenMark Alexander1-62/+258
stepping over an instruction that triggered a watchpoint. * remote-mips.c: Numerous changes to support hardware breakpoints and watchpoints on LSI MiniRISC and TinyRISC boards. * mips-tdep.c: Move MIPS16-related macros to config/mips/tm-mips.h. (mips_breakpoint_from_pc): Account for different breakpoint instructions used by PMON and IDT monitor. * config/mips/tm-embed.h: Enable hardware breakpoints on embedded MIPS targets. * config/mips/tm-mips.h: Define breakpoint instructions for PMON and IDT monitor. Move MIPS16-related macros here from mips-tdep.c.
1997-03-22 * mips-tdep.c (mips_push_arguments): On non-EABI architectures,Mark Alexander1-80/+127
copy first two floating point arguments to general registers, so that MIPS16 functions will receive the arguments correctly. (mips_print_register): Print double registers correctly on little-endian hosts. (mips_extract_return_value): Return double values correctly on little-endian hosts. * mdebugread.c (parse_procedure): Adjust address of procedure relative to address in file descriptor record; this accounts for constant strings that may precede functions in the text section. Remove now-useless lowest_pdr_addr from argument list and all calls.
1997-02-28 * mips-tdep.c (IS_MIPS16_ADDR, MAKE_MIPS16_ADDR, UNMAKE_MIPS16_ADDR):Mark Alexander1-56/+89
New macros for testing, setting, and clearing bit 0 of addresses. Change numerous bits of code where bit 0 was being manipulated to use these macros.
1997-02-09 * remote-mips.c (common_breakpoint): Prevent 64-bit addressesMark Alexander1-5/+16
from being sent to 32-bit targets by masking off upper bits. * mips-tdep.c (heuristic_proc_start): Mask off upper 32 bits of PC on 32-bit targets. (mips16_heuristic_proc_desc): Recognize 'addiu s1,sp,n' as a frame setup instruction. (mips32_heuristic_proc_desc): Fix warning found by gcc -Wall. (mips16_skip_prologue): Recognize 'addiu s1,sp,n' as a valid prologue instruction. Fix warnings and bugs found by gcc -Wall. * buildsym.c (finish_block): Improve handling of overlapping blocks; fixes problem on MIPS16 printing function arguments.
1997-02-04 * mips-tdep.c (mips16_get_imm): Fix calculation of extended immediate.Mark Alexander1-1/+3
(mips16_heuristic_proc_desc): Recognize jal(x) instruction.
1997-02-04 * mips-tdep.c (mips16_decode_reg_save): Distinguish betweenMark Alexander1-114/+307
sd and sw instructions correctly. (heuristic_proc_start): Add support for MIPS16. (mips16_get_imm, mips16_heuristic_proc_desc, mips32_heuristic_proc_desc): New helper functions for heuristic_proc_desc. (heuristic_proc_desc): Rewrite and reorganize to support MIPS16. (mips_push_arguments): Don't align small arguments in EABI. (mips32_skip_prologue): Attempt to shrink code size a little.
1997-01-31 * mips-tdep.c (MIPS16_INSTLEN): Define.Mark Alexander1-42/+151
(mips_find_saved_regs): Replace hardcoded 2's with MIPS16_INSTLEN. (heuristic_proc_start): Recognize 'entry' pseudo-op as a start of function on MIPS16. (mips32_skip_prologue, mips16_skip_prologue): New helper functions for mips_skip_prologue. (mips_skip_prologue): Recognize both 16- and 32-bit prologues.
1997-01-28First set of changes for mips16:Mark Alexander1-47/+185
* config/mips/tm-mips.h (MIPS16_BIG_BREAKPOINT, MIPS16_LITTLE_BREAKPOINT, BREAKPOINT_FROM_PC): Define. (ABOUT_TO_RETURN): Call new function mips_about_to_return. (mips_breakpoint_from_pc, mips_about_to_return): Declare. * mem-break.c (memory_breakpoint_from_pc): New function. (memory_insert_breakpoint, memory_remove_breakpoint): Use memory_breakpoint_from_pc to determine breakpoint contents and size. * target.h (memory_breakpoint_from_pc): Declare. * monitor.c (monitor_insert_breakpoint): Use memory_breakpoint_from_pc to determine size of breakpoint instruction. * mips-tdep.c (mips32_decode_reg_save, mips16_decode_reg_save): New helper functions for mips_find_saved_regs. (mips_find_saved_regs): Recognize mips16 prologues. (mips_addr_bits_remove): Strip off upper 32 bits of address when target CPU is 32 bits but CORE_ADDR is 64 bits. (mips_step_skips_delay): No branch delay slot on mips16. (gdb_print_insn_mips): Disassemble mips16 code. (mips_breakpoint_from_pc, mips_about_to_return): New functions.
1996-12-21 * config/mips/tm-mips.h (PC_IN_CALL_DUMMY): Removed, the defaultPeter Schauer1-32/+24
definition in inferior.h is sufficient. * mips-tdep.c (mips_pc_in_call_dummy): Ditto. (mips_push_arguments): Make sure that the stack is aligned to a multiple of 8 after the arguments are pushed. Structures are always passed by value in the old ABI. Adjust argument register value on big endian targets when passing a value whose length is less than the register size. Write stack arguments with a single write_memory call. (mips_pop_frame): Use frame_saved_regs instead of proc_desc to decide which registers have to be restored.
1996-12-15 * mips-tdep.c (mips_push_arguments): Handle floating point args.Mark Alexander1-115/+197
* config/mips/tm-mips.h (FIX_CALL_DUMMY): Define to set up $25 correctly for PIC on Irix 5.
1996-11-27 * config/mips/tm-mips.h (ADDR_BITS_REMOVE, TARGET_READ_SP): Define.Mark Alexander1-59/+84
(mips_addr_bits_remove): Declare. * mips-tdep.c (mips_push_dummy_frame): Fix heuristic-fence-post errors when hitting breakpoints during inferior function calls in 64-bit programs. (fix_sign_extension): Make public, rename to mips_addr_bits_remove. * utils.c (paddr_nz, preg_nz): New functions, similar to paddr and preg but don't print leading zeroes. * defs.h (paddr_nz, preg_nz): Declare. * remote-mips.c: Use paddr_nz instead of paddr throughout to reduce packet size. (pmon_end_download): Improve timeout error handling.