aboutsummaryrefslogtreecommitdiff
path: root/gdb/sh-tdep.c
AgeCommit message (Collapse)AuthorFilesLines
2002-02-082002-02-07 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-11/+15
* sh-tdep.c (sh_nofp_frame_init_saved_regs): Extend where[] array to include space for pseudoregs as well. Update loops accordingly. (sh_fp_frame_init_saved_regs): Ditto. (sh_init_extra_frame_info, sh_pop_frame): Split long lines.
2002-01-232002-01-22 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-52/+63
* sh-tdep.c (sh_pseudo_register_read): New function. Renamed and modified version of obsolete sh_fetch_pseudo_register. (sh_fetch_pseudo_register): Rename to sh_pseudo_register_read. (sh4_register_read): New function. (sh_pseudo_register_write): New function. Renamed and modified version of obsolete sh_store_pseudo_register. (sh_store_pseudo_register): Rename to sh_pseudo_register_write. (sh4_register_write): New function. (sh_gdbarch_init): Remove setting of gdbarch function fetch_pseudo_register and store_pseudo_register. Remove setting of register_convert_to_raw, register_convert_to_virtual, register_convertible. (sh_sh4_register_convertible): Delete. No longer needed. All is taken care by architecture specific functions register_read/register_write. (sh_sh4_register_convert_to_virtual): Make static. (sh_sh4_register_convert_to_raw): Ditto.
2002-01-222002-01-21 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-92/+124
* sh-tdep.c (sh_fp_frame_init_saved_regs, sh_push_arguments, sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs, sh_sh4_register_byte, sh_sh4_register_raw_size, sh_sh3e_register_virtual_type, sh_sh4_register_virtual_type, sh_sh4_register_convertible, sh_sh4_register_convert_to_virtual, sh_sh4_register_convert_to_raw, sh_fetch_pseudo_register, sh_store_pseudo_register, sh_do_pseudo_register): Call gdbarch_tdep() just once, assign result to variable and use that, instead of calling the function several times.
2002-01-20Eliminate IEEE_FLOAT.Andrew Cagney1-1/+0
2002-01-12Update Copyright year.Elena Zannoni1-1/+1
2002-01-122002-01-12 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-1/+1
* sh-tdep.c (sh_gdbarch_init): Move setting of long_bit earlier in the function.
2002-01-05s/BIG_ENDIAN/BFD_ENDIAN_BIG/Andrew Cagney1-6/+6
2001-12-15LITTLE_ENDIAN -> BFD_ENDIAN_LITTLEAndrew Cagney1-2/+2
2001-09-052001-09-05 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-3/+1
* gdbarch.sh: Move include of dis-asm.h so it is generated earlier in gdbarch.h. (TARGET_PRINT_INSN): Multiarch. * gdbarch.h: Regenerate. * gdbarch.c: Regenerate. * arch-utils.c (legacy_print_insn): New function. * arch-utils.h (legacy_print_insn): Export. * cris-tdep.c (cris_delayed_get_disassembler): Use TARGET_PRINT_INSN, instead of tm_print_insn. * d10v-tdep.c (print_insn): Ditto. * d30v-tdep.c (print_insn): Ditto. * m32r-tdep.c (dump_insn): Ditto. * v850-tdep.c (v850_scan_prologue): Ditto. * mcore-tdep.c (mcore_dump_insn): Ditto. * sh-tdep.c (sh_gdbarch_init): Set print_insn gdbarch field.
2001-08-01* defs.h (HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT)Andrew Cagney1-0/+1
(HOST_FLOAT_FORMAT, HOST_DOUBLE_FORMAT) (HOST_LONG_DOUBLE_FORMAT, DOUBLEST) (floatformat_to_doublest, floatformat_from_doublest) (floatformat_is_negative, floatformat_is_nan) (floatformat_mantissa, store_floating) (extract_floating): Move declaration from here. * doublest.h: To here. New file. * utils.c (get_field, floatformat_to_doublest, put_field) (ldfrexp, floatformat_from_doublest, floatformat_is_negative) (floatformat_is_nan, floatformat_mantissa) (FLOATFORMAT_CHAR_BIT): Move from here. * doublest.c: To here. New file. * findvar.c (store_floating, extract_floating): Move from here. * doublest.c: To here. * Makefile.in (SFILES): Add doublest.c. (COMMON_OBS): Add doublest.o. (doublest.o): Specify dependencies. (doublest_h): Define. * config/m88k/tm-m88k.h: Include "doublest.h". * config/i960/tm-i960.h: Ditto. * config/i386/tm-symmetry.h: Ditto. * rs6000-tdep.c, valarith.c: Ditto. * valprint.c, stabsread.c, sh-tdep.c: Ditto. * ia64-tdep.c, i387-tdep.c, i386-tdep.c: Ditto. * values.c, arm-tdep.c, arm-linux-tdep.c: Ditto. * alpha-tdep.c, ax.h, expression.h: Ditto. * sh-tdep.c, parse.c, top.c, value.h: Ditto. * Makefile.in (arm-tdep.o): Add $(doublest_h). (i386-tdep.o, i387-tdep.o, ia64-tdep.o): Ditto. (rs6000-tdep.o, stabsread.o, valarith.o): Ditto. (values.o, valprint.o, arm-linux-tdep.o): Ditto. (alpha-tdep.o, ax_h, parse.o, top.o, value_h): Ditto. (parser_defs_h): Ditto. (expression_h): Add $(doublest_h) and $(symtab_h).
2001-07-272001-07-26 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-2/+4
* sh-tdep.c (sh_gdbarch_init): Use SH_DEFAULT_NUM_REGS instead of NUM_REGS. (SH_DEFAULT_NUM_REGS): Define.
2001-07-15s/value_ptr/struct value */Andrew Cagney1-1/+1
2001-07-122001-07-11 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-62/+72
* config/sh/tm-sh.h (struct gdbarch_tdep): Add FLOAT_ARGLAST_REGNUM, RETURN_REGNUM, ARG0_REGNUM, ARGLAST_REGNUM, PR_REGNUM fields. * sh-tdep.c (sh_skip_prologue_hard_way): Rename from skip_prologue_hard_way(). (skip_prologue_hard_way): Make it a function pointer. (sh_print_register): Use function pointer do_pseudo_register, instead of sh_do_pseudo_register. (sh_do_registers_info): Ditto. (sh_gdbarch_init): Initialize do_pseudo_register. (IS_MOV_TO_R14): Rename from IS_MOV_R14. (skip_prologue_hard_way): Update. (sh_gdbarch_init): Move setting of frame_chain, get_saved_register, init_extra_frame_info, push_arguments, extract_return_value, pop_frame, store_struct_return, extract_struct_value_address, use_struct_convention, init_extra_frame_info to before target specific settings. (sh_gdbarch_init): Initialize new tdep fields FLOAT_ARGLAST_REGNUM, RETURN_REGNUM, ARG0_REGNUM, ARGLAST_REGNUM, PR_REGNUM. (sh_push_arguments): Use new gdbarch_tdep fields {ARG0,ARGLAST}_REGNUM. (sh_saved_pc_after_call, sh_nofp_frame_init_saved_regs, sh_init_extra_frame_info, sh_push_return_address, sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): Update to use gdbarch_tdep->PR_REGNUM. (dr_reg_base_num, fv_reg_base_num): Move to earlier in the file.
2001-05-092001-05-09 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-8/+0
* sh3-rom.c (_initialize_sh3_rom): Get rid of specific _WINDOWS conditional for help with connections through parallel ports, given that the actual code for downloading through a parallel port is not conditionalized. * sh-tdep.c: Remove WIN32_WCE conditional. The wince sh target is unmaintaned, and probably on its way to obsolescence.
2001-04-302001-04-30 Elena Zannoni <ezannoni@redhat.com>Elena Zannoni1-96/+29
* sh-tdep.c: Get rid of the function prototypes. (sh_sh4_build_float_register_type): Move earlier in file. (fv_reg_base_num): Ditto. (dr_reg_base_num): Ditto.
2001-03-28Gag -Wuninitialized warnings.Andrew Cagney1-1/+4
Add -Wuninitialized to default warning list.
2001-03-06Update/correct copyright notices.Kevin Buettner1-1/+1
2001-03-01Create new file regcache.h. Update all uses.Andrew Cagney1-0/+1
2001-02-08Add __FILE__ and __LINE__ parameter to internal_error() /Andrew Cagney1-2/+4
internal_verror().
2001-02-062001-02-05 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-6/+68
* sh-tdep.c: Update copyright. (sh_extract_return_value): Rewrite. (sh3e_sh4_extract_return_value): New function. (sh_gdbarch_init): Initialize gdbarch_extract-return_value to new version of the function for sh3e and sh4 CPUs.
2001-01-022001-01-02 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-4/+15
* sh-tdep.c (sh_extract_return_value): Allow for small return type. (sh_sh4_extract_return_value): Call sh_extract_return_value for
2001-01-02Remove prototypes for obsolete static functions.Michael Snyder1-2/+0
2001-01-022000-12-20 Michael Snyder <msnyder@mvstp600e.cygnus.com>Michael Snyder1-14/+2
* arch-utils.c (default_frame_address): New function. Default implementation of frame_args_address and frame_locals_address. * arch-utils.h (default_frame_address): Export. * d10v-tdep.c (d10v_gdbarch_init): Use default_frame_address. (d10v_frame_args_address, d10v_frame_locals_address): Delete. * sh-tdep.c (sh_gdbarch_init): Use default_frame_address. (sh_frame_args_address, sh_frame_locals_address): Delete. * sparc-tdep.c (sparc_gdbarch_init): Use default_frame_address. (sparc_frame_address): Delete.
2000-12-192000-12-19 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-1/+1
* sh-tdep.c (sh_print_register): Don't leave regnum 0 out of the non-pseudo-regs group.
2000-12-192000-12-19 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-1/+1
* sh-tdep.c (sh_gdbarch_init): Move setting of breakpoint_from_pc to before switch statement.
2000-12-182000-12-17 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-0/+2
* sh-tdep.c (sh_gdbarch_init): Initialize do_registers_info. * config/sh/tm-sh.h (DO_REGISTERS_INFO): Remove macro. Use multiarch version instead.
2000-12-152000-12-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-6/+7
* sh-tdep.c (sh_generic_show_regs, sh3_show_regs, sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): SR_REGNUM is now part of gdbarch_tdep structure. (sh_gdbarch_init): Initialize SR_REGNUM. * config/sh/tm-sh.h (struct gdbarch_tdep): Add field SR_REGNUM.
2000-12-152000-12-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-15/+27
* sh-tdep.c (sh_do_pseudo_register): Indent properly. Call do_dr_register_info() only for DR registers. (sh_sh4_register_name): Add comments with numbers. (_initialize_sh_tdep): Move assignment to disassemble printing function from here... (sh_gdbarch_init):...to here. Move some more general settings to before the architecture is recognized.
2000-12-112000-12-11 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-2/+1
* sh-tdep.c (sh_extract_struct_value_address): Protoize. 2000-12-11 Michael Snyder <msnyder@mvstp600e.cygnus.com> * blockframe.c (get_prev_frame): Add missing paren omitted in last check-in.
2000-12-112000-12-11 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-2/+2
* sh-tdep.c (sh_extract_struct_value_address): For consistancy, change decl from "CORE_ADDR static" to "static CORE_ADDR".
2000-12-072000-12-07 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-26/+27
* config/sh/tm-sh.h (struct gdbarch_tdep): Rename fields {FP15,DR14,FV12}_REGNUM to {FP,DR,FV}_LAST_REGNUM. * sh-tdep.c (sh_sh3e_register_virtual_type, sh_sh4_register_virtual_type, sh_do_registers_info, sh_gdbarch_init, sh_sh4_register_byte, sh_sh4_register_raw_size, sh_sh4_register_convertible, sh_sh4_register_convert_to_virtual, sh_sh4_register_convert_to_raw, sh_fetch_pseudo_register, sh_store_pseudo_register, sh_do_pseudo_register): Ditto. * sh-tdep.c (sh_gdbarch_init): Use a function pointer to set the disassembly print function. (_initialize_sh_tdep): Initialize tm_print_insn using the function pointer.
2000-12-052000-12-05 Elena Zannoni <ezannoni@kwikemart.cygnus.com>Elena Zannoni1-16/+0
* config/sh/tm-sh.h (struct gdbarch_tdep): Get rid of DR{2,4,6,8,10,12}_REGNUM, FV{4,8}_REGNUM, they are not used anywhere. * sh-tdep.c (sh_gdbarch_init): Don't initialize DR{2,4,6,8,10,12}_REGNUM, FV{4,8}_REGNUM.
2000-10-312000-10-30 Michael Snyder <msnyder@cleaver.cygnus.com>Michael Snyder1-0/+46
* config/sh/tm-linux.h: New file. Include generic tm-linux.h, plus tm-sh.h, then define SVR4_FETCH_LINK_MAP_OFFSETS to use the sh target function instead of the default link map offsets. * config/sh/sh.mt: Add solib.o and solib-svr4.o to TDEPFILES. Use sh/tm-linux.h instead of sh/tm-sh.h. * sh-tdep.c (sh_linux_svr4_fetch_link_map_offsets): New function. Construct target-specific link map offsets. * i386-linux-tdep.c (i386_linux_svr4_fetch_link_map_offsets: New function. Construct target-specific link map offsets. * config/i386/tm-linux.h: Use above function instead of default. 2000-10-30 Michael Snyder <msnyder@cleaver.cygnus.com> * config/i386/tm-linux.h: Remove definition of SVR4_SHARED_LIBS, and inclusion of solib.h. Move up into ../tm-linux.h. config/tm-linux.h: Define SVR4_SHARED_LIBS, include solib.h.
2000-10-30* gdbarch.sh, hp-psymtab-read.c, hpread.c, m3-nat.c, mcore-tdep.c,J.T. Conklin1-1/+1
mips-tdep.c, monitor.c, regcache.c, remote-es.c, ser-unix.c, somread.c, tracepoint.c: Fix spelling errors in comments. * gdbarch.c: Regenerate. * gnu-nat.c (S_exception_raise_request): Fix typos and spelling errors in strings. * m3-nat.c (intercept_exec_calls, mach_thread_parse_id): Likewise. * mcore-tdep.c (mcore_analyze_prologue): Likewise. * mips-tdep.c (mips16_next_pc, _initialize_mips_tdep): Likewise. * remote-e7000.c (e7000_start_remote): Likewise. * remote-rdp.c (handle_swi): Likewise. * remote-vx.c (vx_load_command): Likewise. * sh-tdep.c (sh_do_pseudo_register): Likewise. * sol-thread.c (td_err_string): Likewise. * symtab.c (decode_line_2): Likewise. -------------------------------------------------------------------
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