Commit Graph

72 Commits

Author SHA1 Message Date
Jim Blandy 7bcda025ec Back out change. The NetBSD changes need Jason Thorpe's approval, but
he hasn't reviewed it yet.
2004-05-10 18:58:44 +00:00
Jim Blandy c4143af614 * ppc-tdep.h (struct gdbarch_tdep): Change definition of
ppc_fp0_regnum and ppc_fpscr_regnum: if they are -1, then this
processor variant lacks those registers.
(ppc_floating_point_unit_p): Change description to make it clear
that this returns info about the ISA, not the ABI.
* rs6000-tdep.c (ppc_floating_point_unit_p): Decide whether to
return true or false by checking tdep->ppc_fp0_regnum and
tdep->ppc_fpscr_regnum.  The original code replicated the BFD
arch/mach switching done in rs6000_gdbarch_init; it's better to
keep that logic there, and just check the results here.
(rs6000_gdbarch_init): On the E500, set tdep->ppc_fp0_regnum and
tdep->ppc_fpscr_regnum to -1 to indicate that we have no
floating-point registers.
(ppc_supply_fpregset, ppc_collect_fpregset)
(rs6000_push_dummy_call, rs6000_extract_return_value)
(rs6000_store_return_value): Assert that we have floating-point
registers.
(rs6000_dwarf2_stab_reg_to_regnum): Add FIXME.
(rs6000_frame_cache): Don't note the locations at which
floating-point registers were saved if we have no fprs.
* aix-thread.c (supply_fprs, fill_fprs): Assert that we have FP
registers.
(fetch_regs_user_thread, fetch_regs_kernel_thread)
(store_regs_user_thread, store_regs_kernel_thread): Only call
supply_fprs / fill_fprs if we actually have floating-point
registers.
(special_register_p): Check ppc_fpscr_regnum before matching
against it.
(supply_sprs64, supply_sprs32, fill_sprs64, fill_sprs32): Don't
supply / collect fpscr if we don't have it.
* ppc-bdm.c: #include "gdb_assert.h".
(bdm_ppc_fetch_registers, bdm_ppc_store_registers): Assert that we
have floating-point registers, since I can't test this code on
FP-free systems to adapt it.
* ppc-linux-nat.c (ppc_register_u_addr): Don't match against the
fpscr and floating point register numbers if they don't exist.
(fetch_register): Assert that we have floating-point registers
before we reach the code that handles them.
(store_register): Same.  And use tdep instead of calling
gdbarch_tdep again.
(fill_fpregset): Don't try to collect FP registers and fpscr if we
don't have them.
(ppc_linux_sigtramp_cache): Don't record the saved locations of
fprs and fpscr if we don't have them.
(ppc_linux_supply_fpregset): Don't supply fp regs and fpscr if we
don't have them.
* ppcnbsd-nat.c: #include "gdb_assert.h".
(getfpregs_supplies): Assert that we have floating-point registers.
* ppcnbsd-tdep.c (ppcnbsd_supply_fpreg, ppcnbsd_fill_fpreg): Same.
* ppcobsd-tdep.c: #include "gdb_assert.h".
(ppcobsd_supply_gregset, ppcobsd_collect_gregset): Assert that we
have floating-point registers.
* rs6000-nat.c (regmap): Don't match against the fpscr and
floating point register numbers if they don't exist.
(fetch_inferior_registers, store_inferior_registers,
fetch_core_registers): Only fetch / store / supply the
floating-point registers and the fpscr if we have them.
* Makefile.in (ppc-bdm.o, ppc-linux-nat.o, ppcnbsd-nat.o)
(ppcobsd-tdep.o): Update dependencies.
2004-05-10 17:07:02 +00:00
Jim Blandy daf6dc85b1 * aix-thread.c (fetch_regs_kernel_thread, fill_gprs64,
fill_gprs32, store_regs_kernel_thread): Use tdep->ppc_gp0_regnum
to recognize gpr regnums, instead of assuming that
tdep->ppc_fp0_regnum marks the end of the general-purpose
registers.
2004-05-07 20:50:37 +00:00
Jim Blandy 366f009f23 * config/rs6000/tm-rs6000.h (FP0_REGNUM): Document that this
should no longer be used in code specific to the RS6000 and its
derivatives.
* ppc-tdep.h (struct gdbarch_tdep): Add 'ppc_fp0_regnum' member.
* rs6000-tdep.c (rs6000_gdbarch_init): Initialize
tdep->ppc_fp0_regnum.
(ppc_supply_fpregset, ppc_collect_fpregset)
(rs6000_push_dummy_call, rs6000_extract_return_value)
(rs6000_dwarf2_stab_reg_to_regnum, rs6000_store_return_value)
(rs6000_frame_cache): Use tdep->ppc_fp0_regnum instead of
FP0_REGNUM.
* aix-thread.c (supply_fprs, fetch_regs_kernel_thread)
(fill_gprs64, fill_gprs32, fill_fprs, store_regs_kernel_thread):
Same.
* ppc-bdm.c (bdm_ppc_fetch_registers, bdm_ppc_fetch_registers,
bdm_ppc_store_registers): Same.
* ppc-linux-nat.c (ppc_register_u_addr, fetch_register)
(store_register, fill_fpregset): Same.
* ppc-linux-tdep.c (ppc_linux_sigtramp_cache)
(ppc_linux_supply_fpregset): Same.
* ppcnbsd-nat.c (getfpregs_supplies): Same.
* ppcnbsd-tdep.c (ppcnbsd_supply_fpreg, ppcnbsd_fill_fpreg):
Same.
* ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call,
do_ppc_sysv_return_value, ppc64_sysv_abi_push_dummy_call,
ppc64_sysv_abi_return_value): Same.
* rs6000-nat.c (regmap, fetch_inferior_registers)
(store_inferior_registers, fetch_core_registers): Same.
2004-05-05 01:46:55 +00:00
Jim Blandy b967e06fbc * config/rs6000/tm-rs6000.h (FPLAST_REGNUM): Delete #definition.
* ppc-tdep.h (ppc_num_fprs): New enum constant.
* aix-thread.c (fetch_regs_kernel_thread, fill_fprs,
store_regs_kernel_thread): Use FP0_REGNUM + ppc_num_fprs, not
FPLAST_REGNUM.
* ppc-bdm.c (bdm_ppc_fetch_registers, bdm_ppc_store_registers):
Same.
* ppc-linux-nat.c (ppc_register_u_addr): Same.
* rs6000-nat.c (regmap, fetch_inferior_registers)
(store_inferior_registers): Same.
2004-05-04 17:43:52 +00:00
Jim Blandy edf6116900 * aix-thread.c (fill_fprs): Fix off-by-one error comparing regno
with FPLAST_REGNUM.
2004-05-04 17:40:40 +00:00
Andrew Cagney 9a4105ab85 2004-04-21 Andrew Cagney <cagney@redhat.com>
* annotate.h (deprecated_annotate_starting_hook)
	(deprecated_annotate_stopped_hook)
	(deprecated_annotate_exited_hook)
	(deprecated_annotate_signal_hook)
	(deprecated_annotate_signalled_hook): Deprecate.
	* tracepoint.h (deprecated_create_tracepoint_hook)
	(deprecated_delete_tracepoint_hook)
	(deprecated_modify_tracepoint_hook)
	(deprecated_trace_find_hook)
	(deprecated_trace_start_stop_hook): Deprecate.
	* target.h (deprecated_target_new_objfile_hook): Deprecate.
	* remote.h (deprecated_target_resume_hook)
	(deprecated_target_wait_loop_hook): Deprecate.
	* gdbcore.h (deprecated_exec_file_display_hook)
	(deprecated_file_changed_hook): Deprecate.
	* frame.h (deprecated_selected_frame_level_changed_hook): Deprecate.
	* defs.h (deprecated_modify_breakpoint_hook)
	(deprecated_command_loop_hook, deprecated_show_load_progress)
	(deprecated_print_frame_info_listing_hook)
	(deprecated_query_hook, deprecated_warning_hook)
	(deprecated_flush_hook, deprecated_create_breakpoint_hook)
	(deprecated_delete_breakpoint_hook)
	(deprecated_interactive_hook, deprecated_registers_changed_hook)
	(deprecated_readline_begin_hook, deprecated_readline_hook)
	(deprecated_readline_end_hook, deprecated_register_changed_hook)
	(deprecated_memory_changed_hook, deprecated_init_ui_hook)
	(deprecated_context_hook, deprecated_target_wait_hook)
	(deprecated_attach_hook, deprecated_detach_hook)
	(deprecated_call_command_hook, deprecated_set_hook)
	(deprecated_error_hook, deprecated_error_begin_hook)
	(deprecated_ui_load_progress_hook): Deprecate.
	* valops.c, uw-thread.c, utils.c, tui/tui-io.c: Update.
	* tui/tui-hooks.c, tracepoint.c, top.c, thread-db.c: Update.
	* target.c, symfile.c, stack.c, sol-thread.c, rs6000-nat.c: Update.
	* remote.c, remote-mips.c, regcache.c, mi/mi-interp.c: Update.
	* main.c, interps.c, infcmd.c, hpux-thread.c, frame.c: Update.
	* exec.c, dsrec.c, d10v-tdep.c, corefile.c, complaints.c: Update.
	* cli/cli-script.c, cli/cli-setshow.c, breakpoint.c: Update.
	* annotate.c, aix-thread.c: Update.
2004-04-21 23:52:21 +00:00
Andrew Cagney 12c266ea56 2003-10-02 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (DEPRECATED_REGISTER_RAW_SIZE): Rename
	REGISTER_RAW_SIZE.
	* gdbarch.h, gdbarch.c: Re-generate.
	* aix-thread.c, alpha-tdep.h, arm-tdep.c, core-sol2.c: Update.
	* cris-tdep.c, dve3900-rom.c, findvar.c, frame.c: Update.
	* hppa-tdep.c, hppab-nat.c, hppah-nat.c, hppam3-nat.c: Update.
	* hpux-thread.c, i386gnu-nat.c, ia64-aix-nat.c: Update.
	* ia64-linux-nat.c, ia64-tdep.c, infcmd.c, infptrace.c: Update.
	* infrun.c, irix5-nat.c, lynx-nat.c, mips-linux-tdep.c: Update.
	* mips-nat.c, mips-tdep.c, mipsv4-nat.c, mn10300-tdep.c: Update.
	* monitor.c, ns32k-tdep.c, ppc-linux-nat.c, regcache.c: Update.
	* remote-e7000.c, remote-mips.c, remote-sim.c: Update.
	* remote-vxmips.c, remote-vxsparc.c, remote.c: Update.
	* rom68k-rom.c, rs6000-nat.c, rs6000-tdep.c, s390-tdep.c: Update.
	* sh64-tdep.c, sparc-nat.c, sparc-tdep.c, stack.c: Update.
	* target.c, tracepoint.c, v850-tdep.c, v850ice.c, valops.c: Update.
	* vax-tdep.c, vax-tdep.h, x86-64-tdep.c, xstormy16-tdep.c: Update.
	* config/m68k/tm-delta68.h, config/m68k/tm-vx68.h: Update.
	* config/sparc/tm-sparc.h, config/sparc/tm-sparclynx.h: Update.

2003-10-02  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Rename
	REGISTER_RAW_SIZE to DEPRECATED_REGISTER_RAW_SIZE.
	* gdb.texinfo (Packets, Stop Reply Packets): Ditto.
	* gdbint.texinfo (Target Architecture Definition): Rename

2003-10-02  Andrew Cagney  <cagney@redhat.com>

	* mi-main.c: Rename REGISTER_RAW_SIZE to
	DEPRECATED_REGISTER_RAW_SIZE.
2003-10-02 20:28:31 +00:00
Corinna Vinschen 6c0c456d87 * aix-thread.c (aix_thread_detach): Disable thread debugging on
detach to allow reinitialization.
2002-08-22 15:27:16 +00:00
Kevin Buettner ab2eaf26c3 Delete disabled code. 2002-07-27 00:06:19 +00:00
Kevin Buettner 0e061eef8d * aix-thread.c (special_register_p, supply_sprs64, supply_sprs32)
(fetch_regs_user_thread, fetch_regs_kernel_thread, fill_sprs64)
	(fill_sprs32, store_regs_user_thread, store_regs_kernel_thread):
	Add support for the fpscr register.
	* rs6000-nat.c (regmap, fetch_inferior_registers)
	(store_inferior_registers, fetch_core_registers): Likewise.
2002-07-26 23:12:59 +00:00
Kevin Buettner 27bae383c5 * aix-thread.c (language.h): Include.
(ptrace_check, pdc_symbol_addrs, pdc_read_regs, pdc_write_regs)
	(pdc_read_data, pdc_write_data, pdc_alloc, pdc_realloc, pdc_dealloc):
	Print newlines at end of debug messages.
	(pdc_symbol_addrs, pdc_read_regs, pdc_write_regs, pdc_read_data)
	(pdc_write_data): Use local_hex_string() instead of %llx formats.
2002-07-23 01:06:02 +00:00
Kevin Buettner f1a91342e5 Don't rely on FIRST_UISA_SP_REGNUM or LAST_UISA_REGNUM. 2002-07-23 00:34:29 +00:00
Kevin Buettner 206d3d3c1b * aix-thread.c (ops): Rename to aix_thread_ops.
(base_ops): Rename to base_target.
	(ops_attach): Rename to aix_thread_attach.
	(ops_detach): Rename to aix_thread_detach.
	(ops_resume): Rename to aix_thread_detach.
	(ops_wait):   Rename to aix_thread_wait.
	(ops_kill):   Rename to aix_thread_kill.
	(init_ops):   Rename to init_aix_thread_ops.
	(ops_fetch_register): Rename to aix_thread_fetch_register.
	(ops_store_register): Rename to aix_thread_store_register.
	(ops_mourn_inferior): Rename to aix_thread_mourn_inferior.
	(ops_thread_alive):   Rename to aix_thread_thread_alive.
	(ops_extra_thread_info: Rename to aix_thread_extra_thread_info.
	(ops_pid_to_str):  Rename to aix_thread_pid_to_str.
	(ops_xfer_memory): Rename to aix_thread_xfer_memory.
	(fetch_regs_lib):  Rename to fetch_regs_user_thread.
	(fetch_regs_kern): Rename to fetch_regs_kernel_thread.
	(store_regs_lib):  Rename to store_regs_user_thread.
	(store_regs_kern): Rename to store_regs_kernel_thread.
2002-07-22 22:11:03 +00:00
Kevin Buettner cbe92db47b * aix-thread.c (ops_prepare_to_store): Eliminate.
(init_ops): Don't initialize ops.prepare_to_store.
	(store_regs_kern): Pre-fetch register buffers from child,
	because some registers may not be in the cache.  Copy
	regs from register cache only if they are cached.
	(store_regs_lib): Copy regs from register cache only
	if they are cached.
	(fill_sprs32, (fill_sprs64, fill_fprs, fill_gprs32,
	fill_gprs64): Ditto.
2002-07-22 19:56:07 +00:00
Kevin Buettner 61c5da0b4f * aix-thread.c (gdb_assert.h): Include.
(fill_sprs64, fill_sprs32): Add selected asserts to make sure that
	register sizes (from register cache) match size of buffer holding
	register data.
	(fill_sprs32): Change parameter types to match those in the ptrace()
	buffer.
	(store_regs_lib): Likewise, but for 32-bit temporary variables.
	(ops_prepare_to_store): Rename loop variable ``i'' to ``regno''.

	* aix-thread.c (supply_sprs64): Cosmetic change.
	(supply_sprs32): Cosmetic change.
	(fill_gprs64, fill_gprs32, fill_fprs, fill_sprs32): New funcs.
	(fill_sprs64): Use regcache_collect instead of read_register.
	(store_regs_lib): Use regcache_collect instead of
	read_register.  Use fill_sprs32 instead of fill_sprs64,
	if debugging a 32-bit architecture.
	(store_regs_kern): Use fill_gprs64 etc. to pull the values
	out of the register cache, instead of passing a pointer into
	the register cache directly to ptrace.  Use regcache_collect
	insteaad of read_register.
	(ops_prepare_to_store): Use target_read_registers instead
	of read_register_bytes.
2002-07-22 19:20:21 +00:00
Michael Snyder 0fe7bf7bb4 2002-07-17 Michael Snyder <msnyder@redhat.com>
* aix-thread.c: Shorten some long lines.
	Bring comments into line with code spec.
2002-07-18 19:26:14 +00:00
Kevin Buettner be006b8b64 * aix-thread.c (ptrace_check): Use safe_strerror() instead of
strerror().
	(pdc_realloc): Use xrealloc() instead of realloc().
2002-07-16 00:22:45 +00:00
Kevin Buettner 14fa37513d * aix-thread.c (PD_ERROR, CALL_BASE): Delete.
(ops_resume, ops_wait, fetch_regs_lib, store_regs_lib)
	(ops_xfer_memory, ops_kill): Don't use PD_ERROR or CALL_BASE
	macros.
2002-07-15 23:33:09 +00:00
Kevin Buettner 42cc437fb0 * aix-thread.c (ptrace_check): Eliminate goto.
(sync_threadlists): Eliminate gotos.  Also, fix array overrun
	problem.
2002-07-15 20:06:12 +00:00
Kevin Buettner 8e2c28d425 * aix-thread.c (gdbcmd.h): Include.
(DEBUG, DBG, DBG2, dbg): Eliminate.
	(debug_aix_thread): New static global.
	(ptrace_check, pdc_symbol_addrs, pdc_read_regs, pdc_write_regs)
	(pdc_read_data, pdc_write_data, pdc_alloc, pdc_realloc, pdc_dealloc)
	(fetch_regs_lib, store_regs_lib, store_regs_kern): Rewrite
	invocations to DBG and DBG2 macros to test against
	``debug_aix_thread'' and call fprintf_unfiltered().
	(_initialize_aix_thread): Add new command "set debug aix-thread".
2002-07-15 18:55:04 +00:00
Kevin Buettner c11d79f2b1 From Nicholas Duffek (with minor changes by Martin Hunt,
Louis Hamilton, and Kevin Buettner):
	* aix-thread.c: New file.
2002-07-13 00:29:37 +00:00