Commit Graph

24 Commits

Author SHA1 Message Date
Andreas Schwab 8de307e0c2 * Makefile.in (m68k-tdep.o, m68klinux-tdep.o): Update
dependencies.
	* m68k-tdep.c (NUM_FREGS): Delete.
	(SIG_PC_FP_OFFSET): Delete.
	(TARGET_M68K): Delete.
	(P_MOVEAL_SP_FP, P_ADDAW_SP, P_ADDAL_SP, P_SUBQW_SP,
	P_SUBQL_SP, P_LEA_SP_SP, P_LEA_PC_A5, P_FMOVEMX_SP,
	P_MOVEL_SP, P_MOVEML_SP): Define.
	(P_MOVL_SP_FP, P_MOVL, P_JSR, P_BSR, P_LEAL, P_MOVML, P_FMOVM,
	P_TRAP): Delete.
        (m68k_register_raw_size): Delete.
	(m68k_register_virtual_size): Delete.
	(m68k_register_type): Renamed from m68k_register_virtual_type and
	add gdbarch argument.
	(m68k_store_struct_return): Delete.
	(m68k_deprecated_extract_return_value): Delete.
	(m68k_deprecated_extract_struct_value_address): Delete.
	(m68k_frame_chain): Delete.
	(m68k_frame_saved_pc): Delete.
	(m68k_fix_call_dummy): Delete.
	(m68k_push_dummy_frame): Delete.
	(m68k_pop_frame): Delete.
	(m68k_extract_return_value): New function.
	(m68k_store_return_value): Rewrite using regcache.
	(m68k_extract_struct_value_address): Rewrite using regcache.
	(m68k_push_dummy_call): New function.
	(struct m68k_frame_cache): Define.
	(m68k_alloc_frame_cache): New function.
	(m68k_analyze_frame_setup): New function.
	(m68k_analyze_register_saves): New function.
	(m68k_analyze_prologue): New function.
	(m68k_skip_prologue): Rewrite using above functions.
	(m68k_unwind_pc): New function.
	(m68k_frame_cache): New function.
	(m68k_frame_this_id): New function.
	(m68k_frame_prev_register): New function.
	(m68k_frame_unwind): New variable.
	(m68k_frame_p): New function.
	(m68k_sigtramp_frame_cache): New function.
	(m68k_sigtramp_frame_this_id): New function.
	(m68k_sigtramp_frame_prev_register): New function.
	(m68k_sigtramp_frame_unwind): New variable.
	(m68k_sigtramp_frame_p): New function.
	(m68k_frame_base_address): New function.
	(m68k_frame_base): New function.
	(m68k_unwind_dummy_id): New function.
	(fill_gregset): Use regcache_collect.
	(fill_fpregset): Likewise.
	(m68k_saved_pc_after_call): Only define if SYSCALL_TRAP is
	defined.
	(m68k_gdbarch_init): Don't define call_dummy_words.  Don't set
	deprecated_init_frame_pc, deprecated_store_struct_return,
	deprecated_extract_return_value, deprecated_store_return_value,
	deprecated_frame_chain, deprecated_frame_saved_pc,
	deprecated_frame_init_saved_regs, deprecated_register_raw_size,
	deprecated_register_virtual_size,
	deprecated_max_register_raw_size,
	deprecated_max_register_virtual_size,
	deprecated_register_virtual_type, deprecated_register_size,
	deprecated_register_byte, deprecated_register_bytes,
	deprecated_fp_regnum, deprecated_use_generic_dummy_frames,
	call_dummy_location, deprecated_call_dummy_breakpoint_offset,
	deprecated_pc_in_call_dummy, deprecated_call_dummy_length,
	deprecated_call_dummy_start_offset, deprecated_call_dummy_words,
	deprecated_sizeof_call_dummy_words, deprecated_fix_call_dummy,
	deprecated_push_dummy_frame, deprecated_pop_frame,
	deprecated_dummy_write_sp.  Set deprecated_saved_pc_after_call
	only if SYSCALL_TRAP is defined.  Set extract_return_value,
	store_return_value, extract_struct_value_address, register_type,
	push_dummy_call, unwind_dummy_id, unwind_pc.  Add two frame unwind
	predicates.
	* m68k-tdep.h (M68K_D1_REGNUM, M68K_NUM_REGS,
	M68K_MAX_REGISTER_SIZE): Define.
	(struct m68k_sigtramp_info): Define.
	(struct gdbarch_tdep): Add get_sigtramp_info.
	* m68klinux-nat.c (fetch_register): Use register_size instead of
	REGISTER_RAW_SIZE.  Don't put assignment in if.
	(store_register): Likewise.
	(fetch_inferior_registers): Likewise.
	(store_inferior_registers): Likewise.
	* m68klinux-tdep.c (m68k_linux_sigtramp_saved_pc): Delete.
	(m68k_linux_frame_saved_pc): Delete.
	(m68k_linux_sigcontext_reg_offset,
	m68k_linux_ucontext_reg_offset): Define.
	(m68k_linux_get_sigtramp_info): New function.
	(m68k_linux_extract_return_value): Rewrite using regcache.
	(m68k_linux_store_return_value): Likewise.
	(m68k_linux_extract_struct_value_address): Likewise.
	(m68k_linux_init_abi): Set get_sigtramp_info in tdep structure.
	Don't set deprecated_frame_saved_pc,
	deprecated_extract_return_value, deprecated_store_return_value,
	deprecated_extract_struct_value_address.  Set
	extract_return_value, store_return_value,
	extract_struct_value_address.
2003-07-07 15:06:11 +00:00
Andreas Schwab a731b83190 * m68klinux-nat.c (fill_fpregset): Fix use of loop index. 2003-07-06 18:58:26 +00:00
Andrew Cagney 123a958e01 2003-05-08 Andrew Cagney <cagney@redhat.com>
* regcache.h (max_register_size): Delete declaration.
	* regcache.c (max_register_size): Delete function.
	(struct regcache_descr): Delete field "max_register_size".
	(init_regcache_descr, init_legacy_regcache_descr): Assert that all
	registers fit in MAX_REGISTER_SIZE.
	(regcache_save): Replace max_register_size with MAX_REGISTER_SIZE.
	(regcache_restore, regcache_xfer_part, regcache_dump): Ditto.
	* thread-db.c: Replace max_register_size with MAX_REGISTER_SIZE.
	* sh-tdep.c, rom68k-rom.c, remote-sim.c, remote-mips.c: Ditto.
	* remote-e7000.c, monitor.c, mipsv4-nat.c, mips-nat.c: Ditto.
	* m68klinux-nat.c, lynx-nat.c, irix4-nat.c: Ditto.
	* hpux-thread.c, hppah-nat.c, hppab-nat.c, hppa-tdep.c: Ditto.
	* dve3900-rom.c, hppa-tdep.c: Ditto.
2003-05-08 22:33:14 +00:00
Andrew Cagney d9d9c31f31 2003-05-08 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh: Delete references to MAX_REGISTER_RAW_SIZE.
	* gdbarch.h: Re-generate.
	* defs.h (MAX_REGISTER_RAW_SIZE): Delete macro.
	(legacy_max_register_raw_size): Delete declaration.
	* regcache.c (legacy_max_register_raw_size): Delete function.
	* valops.c: Replace MAX_REGISTER_RAW_SIZE with MAX_REGISTER_SIZE.
	* target.c, stack.c, sparc-tdep.c, sh-tdep.c: Update.
	* rs6000-tdep.c, rs6000-nat.c, remote.c, remote-sim.c: Update.
	* remote-rdp.c, remote-array.c, regcache.c: Update.
	* ppc-linux-nat.c, monitor.c, mn10300-tdep.c: Update.
	* mips-tdep.c, mips-linux-tdep.c, m68klinux-nat.c: Update.
	* infptrace.c, ia64-tdep.c, i386-tdep.c, frame.c: Update.
	* findvar.c, dwarf2cfi.c: Update.

Index: tui/ChangeLog
2003-05-08  Andrew Cagney  <cagney@redhat.com>

	* tuiRegs.c: Use MAX_REGISTER_SIZE instead of
	MAX_REGISTER_RAW_SIZE.

Index: mi/ChangeLog
2003-05-08  Andrew Cagney  <cagney@redhat.com>

	* mi-main.c (register_changed_p): Use MAX_REGISTER_SIZE instead of
	MAX_REGISTER_RAW_SIZE.
2003-05-08 20:52:49 +00:00
Andrew Cagney 6789195b42 2003-02-02 Andrew Cagney <ac131313@redhat.com>
* mips-nat.c (zerobuf): Delete.
	(fetch_inferior_registers): Alloc local zerobuf.
	(fetch_core_registers): Alloc local zerobuf.
	* d10v-tdep.c (show_regs): Don't allocate a dynamic array using
	MAX_REGISTER_RAW_SIZE or MAX_REGISTER_VIRTUAL_SIZE.
	* thread-db.c (thread_db_store_registers): Ditto.
	* sh-tdep.c (sh_do_register): Ditto.
	* rom68k-rom.c (rom68k_supply_one_register): Ditto.
	* remote-sim.c (gdbsim_store_register): Ditto.
	* remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
	* remote-e7000.c (fetch_regs_from_dump): Ditto.
	* monitor.c (monitor_supply_register): Ditto.
	* mipsv4-nat.c (supply_gregset, supply_fpregset): Ditto.
	* mips-nat.c (fetch_inferior_registers): Ditto.
	* m68klinux-nat.c (fetch_register): Ditto.
	* lynx-nat.c (fetch_inferior_registers): Ditto.
	(fetch_inferior_registers): Ditto.
	* irix4-nat.c (supply_gregset, supply_fpregset): Ditto.
	* hpux-thread.c (hpux_thread_fetch_registers): Ditto.
	(hpux_thread_store_registers): Ditto.
	* hppah-nat.c (fetch_register): Ditto.
	* hppab-nat.c (fetch_register): Ditto.
	* hppa-tdep.c (pa_register_look_aside): Ditto.
	(pa_print_fp_reg, pa_strcat_fp_reg): Ditto.
	* dve3900-rom.c (fetch_bitmapped_register): Ditto.
2003-02-02 05:46:14 +00:00
Andreas Schwab 32eeb91a76 * Makefile.in (m68k_tdep_h): Define.
(abug-rom.o, cpu32bug-rom.o, dbug-rom.o, m68k-tdep.o, m68klinux-nat.o)
	(remote-est.o, rom68k-rom.o): Add $(m68k_tdep_h).
	* m68k-tdep.c: Move register number enum ...
	* m68k-tdep.h: ... to this new file and rename the constants from
	E_* to M68K_*.  All uses changed.
	* config/m68k/tm-m68k.h (D0_REGNUM, A0_REGNUM): Remove definitions.
	* abug-rom.c: Include "m68k-tdep.h".  Use
	M68K_D0_REGNUM/M68K_A0_REGNUM instead of D0_REGNUM/A0_REGNUM.
	* cpu32bug-rom.c: Likewise.
	* dbug-rom.c: Likewise.
	* m68k-tdep.c: Likewise.
	* m68klinux-nat.c: Likewise.
	* remote-est.c: Likewise.
	* rom68k-rom.c: Likewise.
	* config/m68k/tm-linux.h: Likewise.
2002-11-23 19:45:12 +00:00
Andreas Schwab 0a59580323 * m68klinux-nat.c (IS_SIGTRAMP, IS_RT_SIGTRAMP)
(m68k_linux_in_sigtramp, SIGCONTEXT_PC_OFFSET)
	(UCONTEXT_PC_OFFSET, m68k_linux_sigtramp_saved_pc)
	(m68k_linux_frame_saved_pc): Move to ...
	* m68klinux-tdep.c: ... here.  New file.
	* Makefile.in (m68klinux-tdep.o): Add dependencies.
	* config/m68k/linux.mt (TDEPFILES): Add m68klinux-tdep.o.
2002-11-19 23:14:45 +00:00
Andrew Cagney 5a203e4405 2002-11-18 Andrew Cagney <ac131313@redhat.com>
* frame.h (enum frame_type): Define.
	(get_frame_type): Declare.
	(struct frame_info): Add field `type'.  Delete field
	signal_handler_caller.
	(deprecated_set_frame_signal_handler_caller): Declare.
	* frame.c (get_frame_type): New function.
	(deprecated_set_frame_type): New function.
	(create_new_frame): Set the frame's type.
	(get_prev_frame): Similar.
	* sparc-tdep.c: Use get_frame_type instead of signal_handler_caller.
	* s390-tdep.c: Ditto.
	* m68klinux-nat.c: Ditto.
	* ns32k-tdep.c: Ditto.
	* x86-64-linux-tdep.c: Ditto.
	* vax-tdep.c: Ditto.
	* rs6000-tdep.c: Ditto.
	* ppc-linux-tdep.c: Ditto.
	* i386-interix-tdep.c: Ditto.
	* mips-tdep.c: Ditto.
	* m68k-tdep.c: Ditto.
	* hppa-tdep.c: Ditto.
	* ia64-tdep.c: Ditto.
	* cris-tdep.c: Ditto.
	* arm-tdep.c: Ditto.
	* alpha-tdep.c: Ditto.
	* i386-tdep.c: Ditto.
	* stack.c: Ditto.
	* ada-lang.c: Ditto.
	* blockframe.c: Update.
	* i386-interix-tdep.c (i386_interix_back_one_frame): Use
	deprecated_set_frame_type instead of signal_handler_caller.
	* ppc-linux-tdep.c (ppc_linux_init_extra_frame_info): Ditto.
	* rs6000-tdep.c (rs6000_init_extra_frame_info): Ditto.
	* breakpoint.h: Delete FIXME suggesting get_frame_type.

Index: tui/ChangeLog
2002-11-18  Andrew Cagney  <ac131313@redhat.com>

	* tuiStack.c (tuiShowFrameInfo): Use get_frame_type instead of
	signal_handler_caller.
2002-11-18 22:19:33 +00:00
Andrew Cagney 5ae5f59288 Fix some K&R isms. 2002-07-11 13:50:50 +00:00
Andreas Schwab 2853c33c33 * m68klinux-nat.c (fill_fpregset): Properly pass address of
buffer to regcache_collect.
2002-04-06 23:42:15 +00:00
Andreas Schwab 75738c297b * config/m68k/tm-linux.h (FRAME_SAVED_PC): Define as
m68k_linux_frame_saved_pc.
	(IN_SIGTRAMP): Define as m68k_linux_in_sigtramp instead of
	in_sigtramp.
	(SIGCONTEXT_PC_OFFSET): Remove.
	* m68klinux-nat.c (m68k_linux_frame_saved_pc,
	m68k_linux_sigtramp_saved_pc): New functions.
	(IS_SIGTRAMP, IS_RT_SIGTRAMP): Define.
	(SIGCONTEXT_PC_OFFSET): Moved here from config/m68k/tm-linux.h.
	(UCONTEXT_PC_OFFSET): Define.
	(m68k_linux_in_sigtramp): Renamed from in_sigtramp, handle both
	non-RT and RT signal trampolines.
2002-02-26 22:12:49 +00:00
Andrew Cagney a4b6fc86fa s/Linux/.../
Fix PR gdb/378.
2002-02-24 22:14:33 +00:00
Andreas Schwab 9852326a86 * m68klinux-nat.c: Fix last change to use regcache_collect
instead of referencing registers[] directly.
2002-01-30 13:57:33 +00:00
Andreas Schwab 0280a90a33 * config/m68k/nm-linux.h (FETCH_INFERIOR_REGISTERS): Define.
* m68klinux-nat.c: Update ptrace interface for fetching/storing
	registers and add support for PTRACE_GETREGS.
2002-01-26 22:23:23 +00:00
Daniel Jacobowitz f175af9818 fix m68k-linux build 2001-07-11 18:39:12 +00:00
Kevin Buettner b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Andrew Cagney 4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
Kevin Buettner fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Michael Snyder c60c0f5f88 2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
* gregset.h: New file.  Typedefs for gdb_gregset_t and
        gdb_fpregset_t, prototypes for supply_gregset and friends.
        * procfs.c: Include gregset.h.  Delete local prototypes for
        supply_gregset etc., and local typedef gdb_gregset_t etc.
        * sol-thread.c: Include gregset.h, delete local prototypes,
        add appropriate casts to gdb_gregset_t.
        * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c,
        sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c,
        m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c,
        irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c,
        arm-linux-nat.c, alpha-nat.c: Include gregset.h.
        * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T.
        * config/sparc/tm-sun4sol2.h: Ditto.
2000-05-26 23:22:41 +00:00
Jason Molenda c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Stan Shebs c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs 071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Edith Epstein 09faf0c212 Tue Dec 8 15:09:44 1998 Edith Epstein <eepstein@sophia.cygnus.com>
Merged in m68k-linux patch from Andreas Schwab

        1998-12-01  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

        * Makefile.in, configure.host, configure.tgt: Add support for
        m68k-linux.
        * config/m68k/linux.mh: New file.
        * config/m68k/linux.mt: New file.
        * config/m68k/nm-linux.h: New file.
        * config/m68k/tm-linux.h: New file.
        * config/m68k/xm-linux.h: New file.
        * gdb/m68klinux-nat.c: New file.
        * gdbserver/low-linux.c: Add support for m68k-linux.
        * gdb/config/m68k/tm-m68k.h (NUM_FREGS): New macro.
1998-12-08 21:57:35 +00:00
Edith Epstein 1994dc7cfc Tue Dec 8 15:09:44 1998 Edith Epstein <eepstein@sophia.cygnus.com>
* config/m68k/tm-m68k.h (NUM_FREGS): m68k-linux patch.
          Added NUM_FREGS macro.

        * config/m68k/xm-linux.h: m68k-linux patch. New file.

        * config/m68k/tm-linux.h: m68k-linux patch. New file.

        * config/m68k/nm-linux.h: m68k-linux patch. New file.

        * config/m68k/linux.mt: m68k-linux patch. New file.

        * config/m68k/linux.mh: m68k-linux patch. New file.

        * gdbserver/low-linux.c: m68k-linux patch. Added an ifdef
          that checks the value of __GLIBC to decide whether or
          not to include sys/reg.h.

        * m68klinux-nat.c: m68k-linux patch. New file. Note
          both m68k-tdep.c and m68klinux-nat.c contain definitions
          for supply_gregset and supply_fpregset. The definitions
          in m68k-tdep.c are valid is USE_PROC_FS is defined. Otherwise,
          the definitions in m68klinux-nat.c will be used. This is a
          bit of a hack. The supply_* routines do not belong in
          *_tdep.c files. But, there are several lynx ports that currently
          depend on these definitions.

        * configure.tgt: m68k-linux patch. Added m68*-*-linux*
          gdb_target.

        * configure.host: m68k-linux patch. Added m68*-*-linux*
          gdb_host.

        * Makefile.in: m68k-linux patch. Added compile line for
          m68klinux-nat.o
1998-12-08 20:41:19 +00:00