aboutsummaryrefslogtreecommitdiff
path: root/gdb/sh-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2000-07-312000-07-31 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-2/+2
* sh-tdep.c (sh_push_arguments): Make header match prototype. * remote-e7000.c (e7000_start_remote): Use void *, not char * as parameter to avoid compiler warning. (fetch_regs_from_dump): Call get_hex() with the correct number of parameters.
2000-07-30Protoization.Kevin Buettner1-86/+39
2000-07-282000-07-28 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-0/+69
* sh-tdep.c (sh_gdbarch_init): For sh4 initialize register_convert_to_raw, register_convert_to_virtual, register_convertible. (sh_sh4_register_convertible): New function. (sh_sh4_register_convert_to_virtual): New function. (sh_sh4_register_convert_to_raw): New function. Include floatformat.h.
2000-07-262000-07-26 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-30/+30
* sh-tdep.c (sh_sh4_register_name, sh_sh4_register_byte, sh_sh4_register_raw_size, sh_sh4_register_virtual_type, sh_fetch_pseudo_register, sh_store_pseudo_register, sh_do_pseudo_register, sh_gdbarch_init): Fix names for pseudoregs, they should be numbered as drx fvy where x and y are multiples of 2 and 4 respectively. * config/sh/tm-sh.h: Fix names of pseudo regs.
2000-07-242000-07-24 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-55/+445
* config/sh/tm-sh.h (struct gdbarch_tdep): Add sh4 specific pseudo registers. (DO_REGISTERS_INFO): Define. * sh-tdep.c (sh_sh4_register_name): New function. (sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): Update signature. (sh_show_regs_command): New function. Actual function called by the 'regs' command. (sh_register_byte): Rename to... (sh_default_register_byte): ...New function. (sh_sh4_register_byte): New function. (sh_register_raw_size): Rename to... (sh_default_register_raw_size): ...New function. (sh_sh4_register_raw_size): New function. (sh_sh4_register_virtual_type): New function. (sh_sh4_build_float_register_type): New function. (sh_fetch_pseudo_register, sh_store_pseudo_register): New functions. (fv_reg_base_num, dr_reg_base_num): New functions. (do_fv_register_info, do_dr_register_info, sh_do_pseudo_register, sh_do_fp_register, sh_do_register, sh_print_register, sh_do_registers_info): New functions. (sh_gdbarch_init): Initialize sh4 pseudo registers to -1. Update architecture specific parts. (_initialize_sh_tdep): Use sh_show_regs_command for 'regs' command.
2000-07-192000-07-19 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-283/+1029
Multiarch the sh target. * sh-tdep.c: (sh_generic_reg_names, sh_reg_names,sh3_reg_names, sh3e_reg_names, sh_dsp_reg_names, sh3_dsp_reg_names, sh_processor_type_table): Remove. (XMALLOC): Define. (struct frame_extra_info): Define. (sh_register_raw_size, sh_register_virtual_size, sh_register_virtual_type, sh_register_byte, sh_breakpoint_from_pc, sh_frame_saved_pc, sh_skip_prologue, sh_nofp_frame_init_saved_regs, sh_fp_frame_init_saved_regs, sh_extract_struct_value_address, sh_use_struct_convention, sh_store_struct_return, sh_push_arguments, sh_push_return_address, sh_saved_pc_after_call, sh_generic_register_name, sh_sh_register_name, sh_sh3_register_name, sh_sh3e_register_name, sh_sh_dsp_register_name, sh_sh3_dsp_register_name, sh_frame_args_address, sh_frame_locals_address, sh_coerce_float_to_double, sh_default_store_return_value, sh3e_sh4_store_return_value, sh_generic_show_regs, sh3_show_regs,sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs, sh_register_byte, sh_register_raw_size, sh_register_virtual_size, sh_sh3e_register_virtual_type, sh_default_register_virtual_type, sh_gdbarch_init): New functions. (sh_target_architecture_hook, sh_frame_find_saved_regs, sh_show_regs): Delete functions. (sh_frame_chain, sh_find_callers_reg, sh_init_extra_frame_info, sh_pop_frame, sh_extract_return_value): Update * config/sh/tm-sh.h (GDB_MULTI_ARCH): Define to 1. (struct gdbarch_tdep): Define. Remove all unnecessary defines. * remote-e7000.c ({PR,GBR,SR,MACL,VBR,MACH}_REGNUM): Define to -1, for h8300 case. (want_sh,want_nopc_sh,want_nopc_sh3): Make nomenclature consistent. (e7000_fetch_registers): Remove ifdef GDB_TARGET_IS_SH, use runtime check instead. (e7000_wait): Ditto. * sh3-rom.c (sh3_supply_register): Use gdbarch_tdep to get the SSR and SPC register numbers. (sh3_regnames, sh3e_regnames): Don't specify a size. * config/h8300/tm-h8300.h: Add comment.
2000-07-102000-07-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-9/+145
* config/sh/tm-sh.h (STORE_RETURN_VALUE): Redefine as sh_store_return_value(). * sh-tdep.c (sh_store_return_value): New function. Store the value returned by a function into the appropriate register. 2000-07-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * sh-tdep.c (sh_skip_prologue): Before looking at the actual instructions, try to see if the symbol table can be of help, by calling after_prologue(). If this doesn't work, call skip_prologue_hard_way(). (skip_prologue_hard_way): Renamed from sh_skip_prologue. Add some more instruction pattern matching for pushing of arguments, and manipulation of r14. (after_prologue): New function. Use symbol table info to determine the end of the prologue, if possible.
2000-07-032000-07-03 Christopher Faylor <cgf@cygnus.com>Elena Zannoni1-33/+35
Committed by Elena Zannoni <ezannoni@cygnus.com> * sh-tdep.c (sh_skip_prologue): Change prologue matching for modern compilers. (sh_frame_find_saved_regs): Ditto. (sh_find_callers_reg): Stop if pc is zero.
2000-06-07The attatched moves the remaining guff from gdbarch.{h,c,sh} toAndrew Cagney1-1/+3
arch-utils.{h,c}. The ``set architecutre'' and ``set endian'' commands (part of the move) were implemented to use add_set_enum_cmd() so that ``set architecture <tab>'' works.
2000-05-15sh-dsp support, simulator speedup by using host byte order:Joern Rennecke1-5/+65
sim: * Makefile.in (interp.o): Depends on ppi.c . (ppi.c): New rule. * gencode.c (printonmatch, think, genopc): Deleted. (MAX_NR_STUFF): Now 42. (tab): Add SH-DSP CPU instructions. Amalgamate ldc / stc / lds / sts instructions with similar bit patterns. Fix opcodes of stc Rm_BANK,@-<REG_N>. Fix semantics of lds.l @<REG_N>+,MACH (no sign extend). (movsxy_tab): New array. For movs, change MMMM field to GGGG, and mmmm field to MMMM. Added entries for movx, movy and parallel processing insns. (ppi_tab): New array. (qfunc): Stabilize sort. (expand_opcode): Handle [01][01]NN, [01][01]xx and [01][01]yy. Handle 'M', 'G' 's' 'X', 'a', 'Y' and 'A'. (dumptable): Now takes three arguments. Changed all callers. Emit just one contigous jump table. (filltable): Now takes an argument. Changed all callers. Make index static. (ppi_moves, expand_ppi_code, ppi_filltable, ppi_gensim): New functions. (gensim_caselist): New function, broken out of gensim. Handle opcode fields 'x', 'y', 's', 'M', 'G', 'X', 'a', and 'Y'. Handle ref '9'. (gensim): Handle 'N' in code field and '8' in refs field. Call gensim_caselist - twice. (ppi_index): New static variable. (main): Unsupport default action. Add dsp support for -x / -s option. Add -p option. * interp.c (sh_jump_table, sh_dsp_table, ppi_table): Declare. (saved_state_type): Rearrange to allow amalgamated ldc / stc / lds / sts to work efficiently. (target_dsp): New static variable. (GBR, VBR, SSR, SPC, MACH, MACL): Reflect saved_state_type change. (FPUL, Rn_BANK, SET_Rn_BANK, M, Q, S, T, SR_BL, SR_RB): Likewise. (SR_MD, SR_RC, SET_SR_BIT, GET_SR, SET_RC, GET_FPSCR): Likewise. (RS, RE, MOD, MOD_ME, DSP_R): Likewise. (set_fpscr1): Likewise. Use target_dsp to check for dsp. (MOD_MSi, SIG_BUS_FETCH): Deleted. (CREG, SREG, PR, SR_MASK_DMY, SR_MASK_DMX, SR_DMY): New macros. (SR_DMX, DSR, MOD_DELTA, GET_DSP_GRD): Likewise. (SET_MOD): Reflect saved_state_type change. Set MOD_DELTA instead of MOD_MS, and encode SR_DMY / SR_DMX into high word of MOD_ME. (set_sr): Reflect saved_state_type change. Fix SR_RB handling. Use SET_MOD. (MA, L, TL, TB): Now controlled by ACE_FAST. (SEXT32): Just cast to int. (SIGN32): Fixed to only shift by 31. (CHECK_INSN_PTR): SIGBUS at insn fetch now represented by insn_end 0. (ppi_insn): Declare. (ppi.c): Include. (init_dsp): Set target_dsp. When it changes, switch end of sh_jump_table with sh_dsp_table. (sim_resume) Don't declare sh_jump_table0. Use sh_jump_table instead. Don't Declare PR if it's #defined. Fix single-stepping (Was broken in Mar 6 16:59:10 patch). (sim_store_register, sim_read_register): Translate accesses to reflect saved_state_type change. * interp.c (set_sr): Set sr. (SET_RC, MOD, MOD_MS, MOD_ME, SET_MOD, MOD_MS, MOD_ME): New macros. (set_fpscr1): Don't bank-switch fpu registers when simulating sh-dsp. (DSP_R): Fix definition. (sim_resume): Remove outdated SET_SR use. * interp.c (saved_state): New members for struct member asregs: rs, re, insn_end, xram_start, yram_start. (struct loop_bounds): New struct. (SKIP_INSN): New macro. (get_loop_bounds): New function. (endianw): Renamed to global_endianw. (maskw): negated bits. (PC): Now insn_ptr. (SR_MASK_RC, SR_RC_INCREMENT, SR_RC, RAISE_EXCEPTION): New macros. (RS, RE, DSP_R, DSP_GRD, A1, A0, X0, X1, Y0, Y1, M0, A1G): Likewise. (M1, A0G, RIAT, PT2H, PH2T, SET_NIP, CHECK_INSN_PTR): Likewise. (SIG_BUS_FETCH): Likewise (raise_exception, riat_fast): New functions. (raise_buserror, sim_stop): Use raise_exception. (PROCESS_SPECIAL_ADDRESS): Use xram_start / yram_start. (BUSERROR, WRITE_BUSERROR, READ_BUSERROR): Reverse sense of mask argument. (FP_OP, set_dr): Use RAISE_EXCEPTION. (wlat_fast, wwat_fast, wbat_fast, rlat_fast, rwat_fast, rbat_fast): Declare. Remove redundant masking. (wwat_fast, rwat_fast): Add argument endianw. Changed callers. (MA): Updated for change pc -> PC. (Delay_Slot): Use RIAT. (empty): Deleted. (trap): Remove argument little_endian. Add argument endianw. Changed all callers. Use raise_exception. (macw): Add argument endainw. Changed all callers. (init_dsp): New function, extended after broken out of init_pointers. (sim_resume): Replace pc with insn_ptr. Replace little_endian with endianw. Replace nia with nip. Reverse sense of maskb / maskw / maskl. Implement logic for zero-overhead loops. Don't try to interpret garbage when getting a SIGBUS at insn fetch. (sim_open): Call init_dsp. * gencode.c (tab): Use SET_NIP instead of nia = . Use PH2T / PT2H / RAISE_EXCEPTION where appropriate. Add extra cycles for brai, braf , bsr, bsrf, jmp, jsr. * interp.c (sim_store_register, sim_fetch_register): Do proper endianness switch. * interp.c (saved_state_type): New members for struct member asregs: xymem_select, xmem, ymem, xmem_offset, ymem_offset. (special_address): Delete. (BUSERROR): Now a two-argument predicate. (PROCESS_SPECIAL_ADDRESS, WRITE_BUSERROR, READ_BUSERROR): New macros. (wlat_little, wwat_little, wbat_any, wlat_big, wwat_big): Delete. (process_wlat_addr, process_wwat_addr): New functions. (process_wbat_addr, process_rlat_addr, process_rwat_addr): Likewise. (process_rbat_addr): Likewise. (wlat_fast, wwat_fast, wbat_fast): Use WRITE_BUSERROR. (rlat_little, rwat_little, rbat_any, rlat_big, rwat_big): Delete. (rlat_fast, rwat_fast, rbat_fast): Use READ_BUSERROR. (RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Delete SLOW versions. (do_rdat, trap): Delete SLOW code. (SEXT32, SIGN32): New macros. (swap, swap16): Now integer in - integer out. Changed all callers. (strswaplen, strnswap): Delete SLOW versions. (init_pointers): Initialize dsp memory selection (preliminary). (sim_store_register, sim_fetch_register): Use swap instead of big / little endian read / write functions. * interp.c (maskl): Deleted. (endianw, endianb): New variables. (special_address): Now inline. (bp_holder): Put raising of buserror there, rename to: (raise_buserror). (BUSERROR): Now yields a value. Changed all users. (wbat_big): Delete. (wlat_fast, wwat_fast, wbat_fast): New functions. (rlat_fast, rwat_fast, rbat_fast): Likewise. (RWAT, RLAT, RBAT, WWAT, WLAT, WBAT): Use new functions. (do_rdat, do_wdat): Likewise. Take maskl argument instead of little_endian one. Changed caller macros. (swap, swap16): Use w[rw]lat_big / w[rw]lat_little directly. (strswaplen, strnswap): New functions. (trap): Use them to fix up endian mismatches; disable SYS_execve and SYS_execv; fix double address translation for SYS_pipe and SYS_stat. (sym_write, sym_read): Add endianness translation. (sym_store_register, sym_fetch_register): Add maskl local variable. (sim_open): Set endianw and endianb. gdb: * sh-tdep.c (sh_dsp_reg_names, sh3_dsp_reg_names): New arrays. (sh_processor_type_table): Add entries for bfd_mach_sh_dsp and bfd_mach_sh3_dsp. (sh_show_regs): Floating point registers are called fr0-fr15. For sh4, display fpul, fpscr and fr0-fr15 / dr0-dr14 as appropriate. Handle sh-dsp and sh3-dsp. config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): sh-dsp / sh3-dsp don't have floating point registers. (DSR_REGNUM, A0G_REGNUM, A0_REGNUM, A1G_REGNUM, A1_REGNUM): Define. (M0_REGNUM, M1_REGNUM, X0_REGNUM, X1_REGNUM, Y0_REGNUM): Likewise. (Y1_REGNUM, MOD_REGNUM, RS_REGNUM, RE_REGNUM, R0B_REGNUM): Likewise.
2000-03-20Add sh2 to list of known architectures.Andrew Cagney1-0/+4
2000-02-24* configure.tgt: Add arm, mips, sh wince targets.Christopher Faylor1-2/+4
* config/arm/tm-wince.h: New file. * config/arm/wince.mt New file. * config/sh/tm-wince.h: New file. * config/sh/wince.mt New file. * config/mips/tm-wince.h: New file. * config/mips/wince.mt New file. * wince.c: New file. * wince-stub.c: New file. * wince-stub.h: New file. * sh-tdep.c: Use correct register names for Windows CE.
2000-02-14Remove extraneous code.Nick Clifton1-8/+0
1999-09-09import gdb-1999-09-08 snapshotStan Shebs1-52/+52
1999-08-09import gdb-1999-08-09 snapshotJason Molenda1-1/+1
1999-07-07import gdb-1999-07-07 post reformatJason Molenda1-103/+122
1999-07-07import gdb-1999-07-07 pre reformatJason Molenda1-0/+2
1999-05-25import gdb-1999-05-25 snapshotJason Molenda1-1/+0
1999-04-26import gdb-19990422 snapshotStan Shebs1-16/+5
1999-04-16Initial creation of sourceware repositorygdb-4_18-branchpointStan Shebs1-0/+728
1999-04-16Initial creation of sourceware repositoryStan Shebs1-732/+0
1999-01-26 * sh-tdep.c (sh_target_architecture_hook): Return immediatelyMark Alexander1-0/+1
when a matching machine is found.
1998-12-13CARP:Andrew Cagney1-2/+2
Re-do TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN, TARGET_ARCHITECTURE, TARGET_ARCHITECTURE_AUTO, TARGET_BYTE_ORDER_SELECTABLE_P, TARGET_BYTE_ORDER so that they can all be overriden. Document. Convert mn10300 and PPC targets.
1998-12-10CARP:Andrew Cagney1-7/+18
Rename REGISTER_NAMES{} -> REGISTER_NAME().
1998-11-23CARP: Convert macro definitions of USE_STRUCT_CONVENTION into targetAndrew Cagney1-0/+11
specific functions.
1998-03-17always keep SH4 support now (& remove an unused variable decl)Stan Shebs1-13/+1
1997-08-28New commands ``set architecture'', ``show architecture'' and ``infoAndrew Cagney1-88/+28
architecture''. Update SH target to use new target_architecture_hook.
1997-06-21 * sh-tdep.c (sh_skip_prologue): Also recognize fmov insns.Fred Fish1-3/+27
(sh_frame_find_saved_regs): Recognize fmov insns and adjust stack push count accordingly. * sh-tdep.c (IS_FMOV, FPSCR_SZ): New defines
1997-06-13 * sh-tdep.c (symfile.h): Include.Fred Fish1-1/+5
(gdb_string.h): Include. (sh_fix_call_dummy): Ifdef away, currently unused. * config/sh/tm-sh.h (pop_frame): Add prototype. * config/sh/tm-sh.h (sh_set_processor_type): Add prototype.
1997-06-06 Modified Files:Keith Seitz1-1/+45
ChangeLog sh-tdep.c config/sh/tm-sh.h * config/sh/tm-sh.h: add define for FPSCR_REGNUM * sh-tdep.c (sh_show_regs): print out all registers for the current processor
1997-04-04 * remote.c: Fix doc for `C' and `S' commands to indicate fullStu Grossman1-7/+2
address. * (remote_ops extended_remote_ops remote_desc remote_write_size): Make static. * (remote_fetch_registers remote_write_bytes remote_read_bytes): Record size of response to fetch registers command, use this to limit size of memory read and write commands. * (push_remote_target): New function to make it possible to have another target switch to the remote target. * target.h: Add prototype for push_remote_target. * sh-tdep.c (sh_frame_find_saved_regs): Fix sign extension bugs for hosts which default to unsigned chars (such as SGI's). * (_initialize_sh_tdep): Don't set remote_write_size. It's now handled automatically in remote.c.
1996-11-27Wed Nov 27 11:29:06 1996 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-8/+3
* blockframe.c: ...Remove old-style CALL_DUMMY code... * h8300-tdep.c: * config/h8300/tm-h8300.h: start-sanitize-m32r * m32r-tdep.c: * config/m32r/tm-m32r.h: end-sanitize-m32r * sh-tdep.c: * config/sh/tm-sh.h: start-sanitize-v850 * v850-tdep.c: * config/v850/tm-v850.h: end-sanitize-v850
1996-11-27Added target function calls for SH, M32R and H8300.Michael Snyder1-269/+109
Added some generic target-independant code for managing call-dummy frames. Wed Nov 27 10:32:14 1996 Michael Snyder <msnyder@cleaver.cygnus.com> * breakpoint.c: DELETE command will not delete CALL_DUMMY breakpoint. * blockframe.c: Add target-independant support for managing CALL_DUMMY frames on the host side. * frame.h: Declarations for generic CALL_DUMMY frame support. * h8300-tdep.c: Add target function calls using generic frame support. * config/h8300/tm-h8300.h: config for generic target function calls. start-sanitize-m32r * m32r-tdep.c: Add target function calls using generic frame support. * config/m32r/tm-m32r.h: config for generic target function calls. end-sanitize-m32r * sh-tdep.c: Add target function calls using generic frame support. * config/sh/tm-sh.h: config for generic target function calls. start-sanitize-v850 * v850-tdep.c: Add target function calls using generic frame support. * config/v850/tm-v850.h: config for generic target function calls. end-sanitize-v850 * valops.c: ADD PUSH_RETURN_ADDRESS so that it doesn't have to be done by PUSH_ARGUMENTS when there's no CALL_DUMMY.
1996-11-12Tue Nov 12 12:16:40 1996 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-24/+444
* sh-tdep.c: Add functionality for target function calls. * config/sh/tm-sh.h: Add support for target function calls. This is a safety check-in: everything works, and there'll be another clean-up round shortly.
1996-09-20 * config/sh/tm-sh.h (REGISTER_NAMES): Move fp registers toStan Shebs1-24/+26
be consistent with GCC. (FPUL_REGNUM, etc): Renumber to match list changes. (ADDR_BITS_REMOVE): Delete. * sh-tdep.c (sh_reg_names, sh3_reg_names, sh3e_reg_names): Rearrange to match REGISTER_NAMES. * sh3-rom.c (sh3_regnames, sh3e_regnames): Ditto. PR 9457
1996-08-13 * remote.c: Make remote_write_size public.Mark Alexander1-0/+6
* sh-tdep.c (_initialize_sh_tdep): Set remote_write_size to 300 to prevent packet errors with some versions of CMON. (Fixes PR 10254)
1996-05-13 SH3-E support from Allan Tajii <atajii@hmsi.com>:Stan Shebs1-4/+19
* sh-tdep.c (sh_reg_names, sh3_reg_names): Add empty names for float registers. (sh3e_reg_names): New register name array. (sh_processor_type_table): Add sh3e processor type. * config/sh/tm-sh.h (REGISTER_VIRTUAL_TYPE): Fix test. (REGISTER_NAMES, NUM_REGS, NUM_REALREGS, etc): Adjust for full set of registers. * remote-e7000.c (want_sh3, want_sh3_nopc): New globals. (e7000_fetch_registers, e7000_wait): Use them. * sh3-rom.c (sh3_regnames): Add float registers. (sh3e_cmds, sh3e_ops): New globals. (sh3e_open): New function. (_initialize_sh3_rom): Rename from _initialize_sh3, set up sh3e target vector. * gdbwin.c (reg_order) [TARGET_SH]: Update for SH3-E. * initfake.c: Call _initialize_sh3_rom instead of _initialize_sh3.
1996-03-08 * infcmd.c (do_registers_info): Ignore anonymous registers.Stan Shebs1-1/+130
* sh-tdep.c (set processor): New command to set specific processor type. (sh_reg_names, sh3_reg_names): Arrays of register names for SH and SH3 processors. (sh_set_processor_type): New function. * sh3-rom.c (sh3_open): Call it. (sh3_regname): Add names of all the bank registers. (sh3_supply_register): Clean up formatting. * config/sh/tm-sh.h (NUM_REGS, NUM_REALREGS): Increase to include bank registers. (REGISTER_NAMES): Add names of bank registers. (FP15_REGNUM): Define. (REGISTER_VIRTUAL_TYPE): Use it. * monitor.c: Clean up some comments.
1995-11-14 * monitor.c (monitor_load_srec monitor_make_srec): Move allStu Grossman1-16/+7
S-record download code into srec.c. * srec.c srec.h: New files. Contain S-record loading routines formerly in monitor.c. * serial.c serial.h: New routine just like fprintf, but uses serial_t instead of FILE *. * sh-tdep.c (frame_find_saved_regs init_extra_frame_info): Don't add four to saved pc (makes things match manual). Also, fix bug where we didn't get pc from stack frame correctly. * config/sh/tm-sh.h (SAVED_PC_AFTER_CALL): Don't add four to saved pc. Real hardware does this for you. * sh3-rom.c (sh3_load): New routine. Sets up for download then calls generic S-record loader. * config/h8300/h8300.mt, config/h8500/h8500.mt, config/m68k/monitor.mt, config/pa/hppapro.mt, config/sh/sh.mt: Add srec.o to TDEPFILES.
1995-08-02Update FSF address.Fred Fish1-1/+1
1995-07-01 * config/h8300/h8300.mt: Renamed from h8300hms.mt.Stan Shebs1-10/+0
* config/h8500/h8500.mt: Renamed from h8500hms.mt. * config/z8k/z8k.mt: Renamed from z8ksim.mt. * configure, configure.in: Update to reflect renamings. * remote-sim.c (sim): New command, passes commands to simulator. (simulator_command): New function. (gdbsim_ops): Clean up. * remote-sim.h (sim_do_command): Declare. * sh-tdep.c (memory_size): Remove command. * Makefile.in (SIM, SIM_OBS): New variables. (CLIBS, CDEPS): Add value of SIM. (DEPFILES): Add value of SIM_OBS * config/arm/arm.mt, config/h8300/h8300.mt, config/h8500/h8500.mt, config/sh/sh.mt, config/sparc/sp64sim.mt, config/w65/w65.mt, config/z8k/z8k.mt: Remove simulator files from TDEPFILES, define in SIM_OBS and SIM. config/sparc/sp64sim.mt (SIMFILES): Remove. * remote-z8k.c: Remove, was superseded by remote-sim.c * Makefile.in, mpw-make.in: Remove references to remote-z8k.c.
1995-04-21 * sh-tdep.c (sh-opc.h): Don't include.Stan Shebs1-11/+8
(gdbcore.h): Include. (frame_find_saved_regs): Remove unused local.
1995-01-19 * h8300-tdep.c (gdb_print_insn_h8300): Fix typo (&info -> info).Stan Shebs1-2/+2
* sh-tdep.c (gdb_print_insn_sh): Ditto.
1995-01-17 General cleanup and simplication of disassembler interface.Stan Shebs1-8/+8
* a29k-pinsn.c, arm-pinsn.c, convex-pinsn.c, gould-pinsn.c, hppa-pinsn.c, i386-pinsn.c, i960-pinsn.c, m68k-pinsn.c, m88k-pinsn.c, mips-pinsn.c, ns32k-pinsn.c, pyr-pinsn.c, rs6000-pinsn.c, sparc-pinsn.c, tahoe-pinsn.c, vax-pinsn.c: Remove. * gould-tdep.c, ns32k-tdep.c, tahoe-tdep.c, vax-tdep.c: New files, had been -pinsn.c files. * Makefile.in (ALLDEPFILES): Remove removed files. (a29k-pinsn.o, arm-pinsn.o, convex-pinsn.o, gould-pinsn.o, hppa-pinsn.o, i386-pinsn.o, i960-pinsn.o, m68k-pinsn.o, m88k-pinsn.o, mips-pinsn.o, ns32k-pinsn.o, pyr-pinsn.o, rs6000-pinsn.o, sparc-pinsn.o, tahoe-pinsn.o, vax-pinsn.o): Remove compile actions. * arm-tdep.o, gould-tdep.o, ns32k-tdep.o, tahoe-tdep.o, vax-tdep.o: Add compile actions. * defs.h (tm_print_insn): New global. * a29k-tdep.c (gdb_print_insn_a29k): New function. (_initialize_a29k_tdep): Rename from _initialize_29k, set tm_print_insn. * alpha-tdep.c (print_insn): Remove. (_initialize_alpha_tdep): Set tm_print_insn. * arm-tdep.c (arm_print_insn): New function, was print_insn in arm-pinsn.c. * convex-tdep.c (convex_print_insn): New function, was print_insn in convex-pinsn.c. * h8300-tdep.c (print_insn): Remove. (gdb_print_insn_h8300): New function. (_initialize_h8300_tdep): New function. * h8500-tdep.c (print_insn): Remove. (_initialize_h8500_tdep): New function. * hppa-tdep.c (_initialize_hppa_tdep): Set tm_print_insn. * i386-tdep.c (_initialize_i386_tdep): New function. * i960-tdep.c (mem, next_insn): New functions, were in i960-pinsn.c. (_initialize_i960_tdep): Set tm_print_insn. * m68k-tdep.c (_initialize_m68k_tdep): New function. * m88k-tdep.c (_initialize_m88k_tdep): New function. * mips-tdep.c (gdb_print_insn_mips): New function. (_initialize_mips_tdep): Set tm_print_insn. * pyr-tdep.c (pyr_print_insn): New function, was print_insn in pyr-pinsn.c. * rs6000-tdep.c (_initialize_rs6000_tdep): New function. * sh-tdep.c (print_insn): Remove. (gdb_print_insn_sh): New function. (_initialize_sh_tdep): Set tm_print_insn. * sparc-tdep.c (_initialize_sparc_tdep): New function. * w65-tdep.c (print_insn): Remove. (_initialize_w65_tdep): New function. * z8k-tdep.c (print_insn): Remove. (gdb_print_insn_z8k): New function. (_initialize_z8k_tdep): Set tm_print_insn. * printcmd.c (print_insn): New function, generic disassembler. * config/*/*.mt (TDEPFILES): Remove refs to *-pinsn.o. * defs.h (query_hook, error_hook): Fix prototypes.
1994-11-24 * remote-e7000.c (HARD_BREAKPOINTS): Reenable.Steve Chamberlain1-49/+54
(BC_BREAKPOINTS): Disable. * sh-tdep.c (print_insn): Cope with big and little endian machines. * sh/sh.mt: Use libsim.a * sh/tm-sh.h (TARGET_BYTE_ORDER_SELECTABLE): New (BREAKPOINT): Changed to be byteorder independent.
1994-11-04 Replace useless FRAME, FRAME_ADDR types with struct frame_info *Stan Shebs1-16/+13
and CORE_ADDR, respectively. * frame.h (FRAME, FRAME_INFO_ID, FRAME_ADDR): Remove. * blockframe.c (get_frame_info): Remove. * a29k-tdep.c, alpha-tdep.c, blockframe.c, breakpoint.c, breakpoint.h, energize.c, findvar.c, gdbtk.c, gould-pinsn.c, h8300-tdep.c, h8500-tdep.c, hppa-tdep.c, i386-tdep.c, i960-tdep.c, infcmd.c, inferior.h, infrun.c, m68k-tdep.c, m88k-tdep.c, mips-tdep.c, nindy-tdep.c, printcmd.c, pyr-tdep.c, rs6000-tdep.c, sh-tdep.c, sparc-tdep.c, stack.c, valops.c, z8k-tdep.c, config/a29k/tm-a29k.h, config/alpha/tm-alpha.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h, config/h8500/tm-h8500.h, config/mips/tm-mips.h, config/ns32k/tm-merlin.h, config/ns32k/tm-umax.h, config/pyr/tm-pyr.h, config/sparc/tm-sparc.h): Replace FRAME with struct frame_info * everywhere, replace FRAME_ADDR with CORE_ADDR, rename variables consistently (using `frame' or `fi'), remove calls to get_frame_info and FRAME_INFO_ID, remove comments about FRAME and FRAME_ADDR cruftiness.
1994-10-08 The point of these changes is to avoid reading the frame pointerJim Kingdon1-2/+0
and stack pointer during stepping, to speed things up. A. Changes to not select a frame until we need a selected frame: * blockframe.c (flush_cached_frames): Call select_frame (NULL, -1). * infrun.c (wait_for_inferior): Move call to select_frame back to normal_stop. This reverts a change of 13 Apr 94 (it says Jeff Law, but the change was my idea); the only reason for that change was so we could save and restore the selected frame in wait_for_inferior, and now that flush_cached frames clears the selected frame, that should work OK now. B. Changes to not create a current_frame until we need one: * blockframe.c (get_current_frame): If current_frame is NULL, try to create an innermost frame. * sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy), infrun.c (wait_for_inferior), thread.c (thread_switch), convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame), alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command), h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame), hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame), i960-tdep.c (pop_frame), m68k-tdep.c (m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c (push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c (pop_frame), config/arm/tm-arm.h (POP_FRAME), config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h (POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME), config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h (POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't call create_new_frame. * corelow.c (core_open), altos-xdep.c (core_file_command), arm-xdep.c (core_file_command), gould-xdep.c (core_file_command), m3-nat.c (select_thread), sun386-nat.c (core_file_command), umax-xdep.c (core_file_command): Don't call create_new_frame; do call flush_cached_frames. * blockframe.c (reinit_frame_cache): Don't call create_new_frame or select_frame. C. Changes to get rid of stop_frame_address and instead only fetch the frame pointer when we need it. * breakpoint.c (bpstat_stop_status): Remove argument frame_address; use FRAME_FP (get_current_frame ()). * infrun.c (wait_for_inferior): Don't pass frame pointer to bpstat_stop_status. * infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame ()) instead of stop_frame_address. * infrun.c (save_inferior_status, restore_inferior_status), inferior.h (struct inferior_status): Don't save and restore stop_frame_address. * inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c (select_thread): Remove stop_frame_address and uses thereof. D. Same thing for the stack pointer. * infrun.c (wait_for_inferior): Remove stop_sp and replace uses thereof with read_sp (). E. Change to eliminate one nasty little spot where we were wanting to know the frame pointer from before the current step (idea from GDB 3.5, which saved my ass, because my other ideas of how to fix it were very baroque). * infrun.c: Remove prev_frame_address. * infrun.c (wait_for_inferior, step_over_function): Use step_frame_address instead of prev_frame_address. F. Same basic idea for the stack pointer. * inferior.h, infcmd.c: New variable step_sp. * infcmd.c (step_1, until_next_command): Set it. * infrun.c: Remove prev_sp and replace uses by step_sp. * infrun.c (wait_for_inferior): If we get out of the step range, then set step_sp to the current stack pointer before we start going again.
1994-09-09Thu Sep 8 17:14:43 1994 Steve Chamberlain (sac@jonny.cygnus.com)Steve Chamberlain1-10/+48
* remote.c (fromhex): Make error more explicit. (read_frame): Don't print bad checksum information unless remote_debugging. Don't use repeat count unless it's > 0. * remote-e7000.c (expect): When echoing, ignore multiple newlines. (e7000_insert_breakpoint, e7000_remove_breakpoint, target_ops): Optionally cope with BC style breakpoints. (e7000_command): After command send directly to the E7000 mark registers as changed. (why_stop, e7000_wait: Understand BC style stop condition. * sh-tdep.c (sh_skip_prologue): Understand more complicated sequences. (frame_find_saved_regs): Likewise. * config/h8500/tm-h8500.h (target_write_pc, TARGET_WRITE_PC): Handle extra arg. * config/i386/xm-go32.h (GDBINIT_FILENAME): Set to gdb.ini. (more work here to come) * config/sh/tm-sh.h (EXTRA_FRAME_INFO): Add f_offset and leaf_function fields.
1994-02-05Fri Feb 4 15:53:18 1994 Steve Chamberlain (sac@cygnus.com)Steve Chamberlain1-0/+35
* h8500-tdep.c (saved_pc_after_call): The size of the pc is memory model dependent. (segmented_command, unsegmented_command, _initialize_h8500_tdep): New commands to change memory model. * remote-7000.c (initialize_remote_e7000): Change name of snoop command. * remote-hms.c (hms_load): Remove breakpoints when loaded. (hms_wait): Use new status structure (hms_open): Push the target here. (hms_before_main_loop): Not here. (supply_val, hms_fetch_register, hms_store_register): Cope with H8/500 names too. * sh-tdep.c (show_regs, initialize_sh_tdep): New command to print all registers in a compact way.
1993-11-15How many times do I have to do this...Steve Chamberlain1-12/+1