Commit Graph

28 Commits

Author SHA1 Message Date
Stephane Carrez 548bcbeca8 * m68hc11-tdep.c (M68HC12_NUM_PSEUDO_REGS): New define.
(M68HC12_HARD_PC_REGNUM): Define specific PC for 68HC12 (pseudo reg).
	(m68hc11_pseudo_register_read): Compute the 68HC12 PC using the
	real PC and the page number (if it's within the memory bank window).
	(m68hc11_pseudo_register_write): Likewise when saving.
	(m68hc11_register_name): Name the virtual pc 'pc' and the real one ppc.
	(m68hc11_register_virtual_type): Return uint32 for virtual pc.
	(m68hc11_register_raw_size): And use 32-bit for it.
	(m68hc11_gdbarch_init): Use 32-bit address for 68HC12 if the
	16K memory bank is used by the prog; also use the virtual pc.
2002-08-13 17:24:50 +00:00
Stephane Carrez 7df11f5981 * m68hc11-tdep.c (m68hc11_elf_make_msymbol_special): New function.
(m68hc11_gdbarch_init): Install it in gdbarch.
	(MSYMBOL_SET_RTC, MSYMBOL_SET_RTI): New to set symbol specific flags.
	(MSYMBOL_IS_RTC, MSYMBOL_IS_RTI): New to test these flags.
	(MSYMBOL_SIZE): New for documentation.
	(insn_return_kind): Enum to specify how a function returns.
	(frame_extra_info): Cleanup and record the return mode.
	(gdbarch_tdep, USE_PAGE_REGISTER): New to control the use of page
	register in address computation.
	(m68hc11_get_return_insn): New to obtain the return instruction used
	by the function.
	(m68hc11_frame_init_saved_regs): Take into account the return
	instruction used by the function for far and interrupt functions.
	(m68hc11_init_extra_frame_info): Take into account page register.
	(m68hc11_frame_args_address): Adjust according to the return mode.
	(show_regs): Print page register only when it's used.
2002-08-13 16:40:46 +00:00
Stephane Carrez 5706502aab * m68hc11-tdep.c (HARD_PAGE_REGNUM): Define for 68HC12 page register.
(M68HC11_LAST_HARD_REG, m68hc11_register_names): Update.
	(m68hc11_register_virtual_type): Return a 8-bit type for 8-bit
	registers.
	(m68hc11_register_raw_size): Likewise.
2002-08-13 16:19:22 +00:00
Stephane Carrez 81967506b7 * m68hc11-tdep.c (m68hc11_gdbarch_init): Set int, double and long
double sizes according to ELF ABI flags.
	(gdbarch_tdep): Record elf_flags.
2002-08-13 13:10:42 +00:00
Stephane Carrez ffe1f3ee3f * m68hc11-tdep.c (M6812_OP_PSHX, M6812_OP_PSHY): New defines.
(m6812_prolog): They can appear in 68HC12 function prologue.
	(m68hc11_frame_chain): Cleanup.
2002-08-13 11:03:42 +00:00
Andrew Cagney 46ce284d66 2002-08-03 Andrew Cagney <cagney@redhat.com>
* m68hc11-tdep.c (m68hc11_pseudo_register_read): Replace
m68hc11_fetch_pseudo_register.
(m68hc11_pseudo_register_write): Replace
m68hc11_store_pseudo_register.
(m68hc11_gdbarch_init): Update.
2002-08-03 15:56:23 +00:00
Andrew Cagney 460e6ec384 2002-07-26 Andrew Cagney <ac131313@redhat.com>
* z8k-tdep.c: Do not include "obstack.h".
* h8300-tdep.c, h8500-tdep.c: Ditto.
* m68hc11-tdep.c, sh-tdep.c: Ditto.
* valprint.c, v850-tdep.c: Ditto.
* d10v-tdep.c, mn10300-tdep.c: Ditto.
* mn10200-tdep.c: Ditto.

* Makefile.in (z8k-tdep.o): Update dependencies.
(m68hc11-tdep.o, valprint.o): Ditto.
(v850-tdep.o, d10v-tdep.o): Ditto.
(mn10300-tdep.o, sparc-tdep.o): Ditto.
(sh-tdep.o, h8500-tdep.o, h8300-tdep.o): Ditto.
(m32r-tdep.o, mn10200-tdep.o): Specify dependencies.
(sh_opc_h, gdb_sim_sh_h): Define.
(elf_sh_h, elf_bfd_h): Define.
(opcode_m68hc11_h): Define.
(OPCODES_SRC, OPCODES_DIR): define.
(OPCODES): Use $(OPCODES_DIR).
(gdb_sim_d10v_h): Rename sim_d10v_h.
(gdb_sim_arm_h): Rename sim_arm_h.
2002-07-29 16:34:07 +00:00
Andrew Cagney fa88f6772d * gdbarch.sh (REGISTER_NAME): Change return type a constant string
pointer.
* gdbarch.h, gdbarch.c: Regenerate.
* config/mips/tm-mips.h (mips_register_name): Update.
* i386-tdep.h (i386_register_name): Update.
* mips-tdep.c (mips_register_name): Update
* alpha-tdep.c (alpha_register_name): Update.
* arch-utils.c (legacy_register_name): Update.
* arch-utils.h (legacy_register_name): Update.
* avr-tdep.c (avr_register_name): Update.
* ia64-tdep.c (ia64_register_name): Update.
* i386-tdep.c (i386_register_name): Update.
* sparc-tdep.c (sparc32_register_name): Update.
(sparc64_register_name): Update.
(sparclite_register_name): Update.
(sparclet_register_name):
* sh-tdep.c (sh_generic_register_name): Update.
(sh_sh_register_name): Update.
(sh_sh3_register_name): Update.
(sh_sh3e_register_name): Update.
(sh_sh_dsp_register_name): Update.
(sh_sh3_dsp_register_name): Update.
(sh_sh4_register_name): Update.
(sh_sh64_register_name): Update.
* s390-tdep.c (s390_register_name): Update.
* rs6000-tdep.c (rs6000_register_name): Update.
* ns32k-tdep.c (ns32k_register_name_32082): Update.
(ns32k_register_name_32382): Update.
* d10v-tdep.c (d10v_ts2_register_name): Update.
(d10v_ts3_register_name): Update.
* xstormy16-tdep.c (xstormy16_register_name): Update.
* vax-tdep.c (vax_register_name): Update.
* v850-tdep.c (v850_register_name): Update.
* m68hc11-tdep.c (m68hc11_register_name): Update.
* mn10300-tdep.c (mn10300_generic_register_name): Update.
(am33_register_name): Update.
2002-06-17 23:32:36 +00:00
Andrew Cagney 26e9b323da + * gdbarch.sh (DEPRECATED_EXTRACT_RETURN_VALUE): Rename
+	EXTRACT_RETURN_VALUE.
+	(DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS): Rename
+	EXTRACT_STRUCT_VALUE_ADDRESS.
+	* gdbarch.h, gdbarch.c: Regenerate.
+
+	* values.c (value_being_returned): Handle
+	DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS.
+	(EXTRACT_RETURN_VALUE): Define as DEPRECATED_EXTRACT_RETURN_VALUE.
+
+	* arm-linux-tdep.c (arm_linux_init_abi): Update.
+	* arm-tdep.c (arm_gdbarch_init): Update.
+	* avr-tdep.c (avr_gdbarch_init): Update.
+	* cris-tdep.c (cris_gdbarch_init): Update.
+	* d10v-tdep.c (d10v_gdbarch_init): Update.
+	* ia64-tdep.c (ia64_gdbarch_init): Update.
+	* m68hc11-tdep.c (m68hc11_gdbarch_init): Update.
+	* rs6000-tdep.c (rs6000_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* sh-tdep.c (sh_gdbarch_init): Update.
+	* s390-tdep.c (s390_gdbarch_init): Update.
+	* sparc-tdep.c (sparc_gdbarch_init): Update.
+	* ns32k-tdep.c (ns32k_gdbarch_init): Update.
+	* v850-tdep.c (v850_gdbarch_init): Update.
+	* vax-tdep.c (vax_gdbarch_init): Update.
+	* x86-64-tdep.c (x86_64_gdbarch_init): Update.
+	* xstormy16-tdep.c (xstormy16_gdbarch_init): Update.
+
+	* config/arc/tm-arc.h: Update.
+	* config/d30v/tm-d30v.h: Update.
+	* config/fr30/tm-fr30.h: Update.
+	* config/h8300/tm-h8300.h: Update.
* config/h8500/tm-h8500.h: Update.
* config/i386/tm-i386.h: Update.
* config/i386/tm-ptx.h: Update.
* config/i386/tm-symmetry.h: Update.
* config/i960/tm-i960.h: Update.
* config/m32r/tm-m32r.h: Update.
* config/m68k/tm-delta68.h: Update.
* config/m68k/tm-linux.h: Update.
* config/m68k/tm-m68k.h: Update.
* config/m88k/tm-m88k.h: Update.
* config/mcore/tm-mcore.h: Update.
* config/mips/tm-mips.h: Update.
* config/mn10200/tm-mn10200.h: Update.
* config/pa/tm-hppa.h: Update.
* config/pa/tm-hppa64.h: Update.
* config/sparc/tm-sp64.h: Update.
* config/sparc/tm-sparc.h: Update.
* config/sparc/tm-sparclet.h: Update.
* config/z8k/tm-z8k.h: Update.
2002-06-14 22:55:51 +00:00
Andrew Cagney f4f9705a2d * gdbarch.sh (BREAKPOINT_FROM_PC): Return a const buffer.
* gdbarch.h, gdbarch.c: Regenerate.

* defs.h (breakpoint_from_pc_fn): Delete type definition.
* target.h (memory_breakpoint_from_pc): Update declaration.
* config/mcore/tm-mcore.h (mcore_breakpoint_from_p): Ditto.

* arch-utils.c (legacy_breakpoint_from_pc): Update return type.
* mcore-tdep.c (mcore_breakpoint_from_pc): Ditto.
* mem-break.c (memory_breakpoint_from_pc): Ditto.
* rs6000-tdep.c (rs6000_breakpoint_from_pc): Ditto.
* s390-tdep.c (s390_breakpoint_from_pc): Ditto
* xstormy16-tdep.c (xstormy16_breakpoint_from_pc): Ditto.
* mn10300-tdep.c (mn10300_breakpoint_from_pc): Ditto.
* mips-tdep.c (mips_breakpoint_from_pc): Ditto.
* m68hc11-tdep.c (m68hc11_breakpoint_from_pc): Ditto.
* ia64-tdep.c (ia64_breakpoint_from_pc): Ditto.
* d10v-tdep.c (d10v_breakpoint_from_pc): Ditto.
* arch-utils.c (legacy_breakpoint_from_pc): Ditto..

* mem-break.c (default_memory_insert_breakpoint): Make `bp' a
const pointer.
* monitor.c (monitor_insert_breakpoint): Ditto.
* rs6000-tdep.c (rs6000_software_single_step): Ditto for `breakp'.

* config/mcore/tm-mcore.h: Update copyright.
* mem-break.c: Ditto.
* xstormy16-tdep.c: Ditto.
2002-04-18 18:09:09 +00:00
Andrew Cagney 8227c0ffb1 * h8500-tdep.c (h8500_write_fp): Delete function.
* dwarf2cfi.c (cfi_write_fp): Document as not used.
* mips-tdep.c (mips_gdbarch_init): Do not set write_fp.
* ia64-tdep.c (ia64_gdbarch_init): Do not set write_fp.
* m68hc11-tdep.c (m68hc11_gdbarch_init): Do not set write_fp.
* rs6000-tdep.c (rs6000_gdbarch_init): Do not set write_fp.
* s390-tdep.c (s390_gdbarch_init): Do not set write_fp.
(s390_write_fp):
* sh-tdep.c (sh_gdbarch_init): Do not set write_fp.
* x86-64-tdep.c (i386_gdbarch_init): Do not set write_fp.
* d10v-tdep.c (d10v_gdbarch_init): Do not set write_fp.
(d10v_write_fp): Delete function.
* inferior.h (write_fp, generic_target_write_fp): Delete
declarations.
* regcache.c (generic_target_write_fp): Delete function.
(write_fp): Delete function.
* gdbarch.sh (TARGET_WRITE_FP): Delete.
* gdbarch.h, gdbarch.c: Regenerate.
* config/v850/tm-v850.h (TARGET_WRITE_FP): Delete macro.
* config/sparc/tm-sp64.h (TARGET_WRITE_FP): Delete macro.
(sparc64_write_fp): Delete declaration.
* config/h8500/tm-h8500.h (TARGET_WRITE_FP): Delete macro.
(h8500_write_fp): Delete declaration.
2002-04-06 00:02:52 +00:00
Stephane Carrez 70ed877417 * m68hc11-tdep.c (_initialize_m68hc11_tdep): Don't set tm_print_insn.
(m68hc11_gdbarch_init): But use set_gdbarch_print_insn instead.
2002-03-06 20:07:47 +00:00
Andrew Cagney c2f05ac92e Eliminate IEEE_FLOAT. 2002-01-20 18:05:54 +00:00
Stephane Carrez 7d32ba20c1 * m68hc11-tdep.c (m68hc11_gdbarch_init): Define int at 16-bits. 2001-07-22 12:37:02 +00:00
Andrew Cagney ea7c478fe2 s/value_ptr/struct value */ 2001-07-15 20:10:02 +00:00
Stephane Carrez b4fa4770b8 * m68hc11-tdep.c (m68hc11_pop_frame): Fix stack pointer computation.
(m68hc11_analyze_instruction): Update the pc correctly.
	(m68hc11_guess_from_prologue): Take into account the stack correction
	for the saving address.
2001-05-20 11:53:42 +00:00
Andrew Cagney 4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
Stephane Carrez ed99b3d09e 2000-12-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* m68hc11-tdep.c (m68hc11_gdbarch_init): Remove elf_flags, cleanup.
	(gdbarch_tdep): Likewise.
2000-12-02 17:13:44 +00:00
Stephane Carrez f91a8b6b5d 2000-12-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* m68hc11-tdep.c (SOFT_D1_REGNUM): Soft registers start at 14.
	(m68hc11_register_names): Add null for register 13.
2000-12-02 17:07:04 +00:00
Stephane Carrez 908f682f97 2000-12-03 Stephane Carrez <Stephane.Carrez@worldnet.fr>
* m68hc11-tdep.c (m68hc11_frame_args_address): Fix args address
	computation.
	(m68hc11_frame_init_saved_regs): Frame pointer is saved only if
	the symbol exist.
	(m68hc11_analyze_instruction): New function.
	(m6811_prologue, m6812_prologue): New prologue description tables.
	(m68hc11_guess_from_prologue): Use the above.
	(m68hc11_gdbarch_init): Setup gdbarch_tdep for the prologue
	descriptions.
2000-12-02 16:55:37 +00:00
Stephane Carrez ea3881d97c Support 68HC12 arch in Gdb 2000-11-24 21:24:04 +00:00
Stephane Carrez 5d1a66bd91 Use gdbarch_tdep for 68hc11 specific data (stack_correction global) 2000-11-24 20:59:42 +00:00
Stephane Carrez 22df305e11 Fix gdb calling a function for 68hc11 2000-09-06 19:39:10 +00:00
Stephane Carrez 6148eca7f8 Fix frame unwinding for 68hc11 2000-09-05 20:57:25 +00:00
Stephane Carrez 184651e316 Fix stack offset correction for 68hc11 2000-08-29 19:12:27 +00:00
Stephane Carrez 82c230c2d9 Multi-arch support for 68hc11 2000-08-26 13:36:25 +00:00
Kevin Buettner fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Andrew Cagney 78073dd899 From 2000-06-25 Stephane Carrez <Stephane.Carrez@worldnet.fr>:
* configure.tgt: Recognize the 68hc11.
* m68hc11-tdep.c: New file for 68hc11 target.
* config/m68hc11/m68hc11.mt: New file for 68hc11 port.

* configure.tgt: When 68hc11, set gdb_multi_arch.
2000-07-27 07:18:32 +00:00