Commit graph

20955 commits

Author SHA1 Message Date
Ulrich Weigand
0a44cb368d * spu-tdep.c (spu_frame_unwind_cache): Add comment. 2007-05-11 20:09:29 +00:00
Ulrich Weigand
aa67235e6e * breakpoint.c (remove_breakpoint): Do not remove software
breakpoints in unmapped overlay sections.
2007-05-11 20:01:31 +00:00
Ulrich Weigand
83547f02b7 * gdb.base/overlays.exp: Add support for targets with only code
overlay support, not data overlay.  Support spu-*-* target in
	this mode.
	* gdb.base/ovlymgr.c: Provide stubs for spu target.
	* gdb.base/spu.ld: New file.
2007-05-11 20:00:29 +00:00
Ulrich Weigand
dcf52cd8d5 * spu-tdep.c: Include "observer.h".
(spu_frame_unwind_cache): Unwind PC through overlay return stubs.
	(spu_overlay_data): New variable.
	(struct spu_overlay_table): New type.
	(spu_get_overlay_table, spu_overlay_update_osect, spu_overlay_update,
	spu_overlay_new_objfile): New functions.
	(spu_gdbarch_init): Install spu_overlay_update.
	(_initialize_spu_tdep): Register spu_overlay_new_objfile,
	allocate spu_overlay_data objfile data.
2007-05-11 19:58:38 +00:00
Ulrich Weigand
1c7724581e * gdbarch.sh (overlay_update): New gdbarch function.
(struct obj_section): Add forward declaration.
	* gdbarch.c, gdbarch.h: Regenerate.

	* symfile.c (simple_overlay_update): Make global.
	(target_overlay_update): Remove variable.
	(overlay_is_mapped): Call gdbarch_overlay_update instead of
	target_overlay_update.
	(overlay_load_command): Likewise.
	* symfile.h (struct obj_section): Add forward declaration.
	(simple_overlay_update): Add prototype.

	* m32r-tdep.c (m32r_gdbarch_init): Install simple_overlay_update.
2007-05-11 19:57:17 +00:00
Ulrich Weigand
06d3b283b1 doc/ChangeLog:
* observer.texi (GDB Observers): New observer "new_objfile".

ChangeLog:

	* observer.sh: Add "struct objfile" forward declaration.
	* target.h (deprecated_target_new_objfile_hook): Remove.
	* symfile.c (deprecated_target_new_objfile_hook): Remove.
	(clear_symtab_users): Call observer_notify_new_objfile.
	(symbol_file_add_with_addrs_or_offsets): Likewise.
	* rs6000-nat.c: Include "observer.h".
	(vmap_ldinfo): Call observer_notify_new_objfile.
	(xcoff_relocate_core): Likewise.
	* remote.c (remote_new_objfile_chain): Remove.
	(remote_new_objfile): Do not call remote_new_objfile_chain.
	(_initialize_remote): Use observer_attach_new_objfile.
	* tui/tui-hooks.c (tui_target_new_objfile_chain): Remove.
	(tui_new_objfile_hook): Do not call tui_target_new_objfile_chain.
	(_initialize_tui_hooks): Use observer_attach_new_objfile.
	* aix-thread.c: Include "observer.h".
	(target_new_objfile_chain): Remove.
	(new_objfile): Do not call target_new_objfile_chain.
	(_initialize_aix_thread): Use observer_attach_new_objfile.
	* hpux-thread.c: Include "observer.h"
	(target_new_objfile_chain): Remove.
	(hpux_thread_new_objfile): Make static.  Do not call
	target_new_objfile_chain.
	(_initialize_hpux_thread): Use observer_attach_new_objfile.
	* linux-thread-db.c: Include "observer.h".
	(target_new_objfile_chain): Remove.
	(thread_db_new_objfile): Do not call target_new_objfile_chain.
	(_initialize_thread_db): Use observer_attach_new_objfile.
	* sol-thread.c: Include "observer.h".
	(target_new_objfile_chain): Remove.
	(sol_thread_new_objfile): Make static.  Do not call
	target_new_objfile_chain.
	(_initialize_sol_thread): Use observer_attach_new_objfile.
	* Makefile.in (aix-thread.o, hpux-thread.o, linux-thread-db.o,
	rs6000-nat.o, sol-thread.o, tui-hooks.o): Add dependency on
	$(observer_h).
2007-05-11 19:55:20 +00:00
Ulrich Weigand
93ce768456 * gdbarch.sh (remote_translate_xfer_address): Remove.
* gdbarch.h, gdbarch.c: Regenerate.
	* arch-utils.c (generic_remote_translate_xfer_address): Remove.
	* arch-utils.h (generic_remote_translate_xfer_address): Remove.
	* remote.c (remote_write_bytes_aux, remote_read_bytes): Do not
	call gdbarch_remote_translate_xfer_address.
	* frv-tdep.c (frv_gdbarch_init): Do not call
	set_gdbarch_remote_translate_xfer_address.
	* ia64-tdep.c (ia64_remote_translate_xfer_address): Remove.
	(ia64_gdbarch_init): Do not install it.
2007-05-11 19:16:04 +00:00
Bob Wilson
a6ec25f291 * NEWS: Mention change in handling the -tui option. 2007-05-11 18:31:15 +00:00
Daniel Jacobowitz
2ef52e7748 * linux-thread-db.c (enable_thread_event_reporting): Fix comment
typo.
2007-05-11 17:43:44 +00:00
Ulrich Weigand
1aafd4da21 * breakpoint.c (single_step_breakpoint_inserted_here_p): New function.
(breakpoint_inserted_here_p): Call it.
	(software_breakpoint_inserted_here_p): Likewise.
2007-05-11 12:44:34 +00:00
gdbadmin
88b131f3ce *** empty log message *** 2007-05-11 00:00:32 +00:00
Pedro Alves
7390519ea0 * server.h (check_remote_input_interrupt_request): New function.
* remote_utils.c (INVALID_DESCRIPTOR): New define.
	(remote_desc): Initialize with INVALID_DESCRIPTOR.
	(input_interrupt): Expose on USE_WIN32API too.  Fix whitespace.
	(check_remote_input_interrupt_request): New function.
	* server.h (check_remote_input_interrupt_request): Declare.

	* win32-low.(winapi_DebugBreakProcess,
	winapi_GenerateConsoleCtrlEvent): New typedefs.
	(get_child_debug_event): Lower Win32 debug event polling from 1 sec
	to 250 ms.
	(win32_wait): Check for remote interrupt request
	with check_remote_input_interrupt_request.
	(win32_request_interrupt): New function.
	(win32_target_op): Set request_interrupt to win32_request_interrupt.
2007-05-10 22:04:50 +00:00
Pedro Alves
34b3492108 * win32-low.c (debug_registers_changed,
debug_registers_used, CONTEXT_EXTENDED_REGISTERS,
	CONTEXT_FLOATING_POINT, CONTEXT_DEBUG_REGISTERS,
	CONTEXT_DEBUGGER, CONTEXT_DEBUGGER_DR): Delete.
	(thread_rec): Get context using the low target.
	(child_add_thread): Call thread_added on the low target,
	which does the same thing.
	(regptr): Delete.
	(do_initial_child_stuff): Remove debug registers references.
	Set context using the low target.  Resume threads after
	setting the contexts.
	(child_continue): Remove dead variable.  Remove debug
	registers references.
	(child_fetch_inferior_registers): Go through the low target.
	(do_child_store_inferior_registers): Remove.
	(child_store_inferior_registers): Go through the low target.
	(win32_resume): Remove debug registers references.
	Set context using the low target.
	(handle_exception): Change return type to void.  Don't record
	context here.  Set status to TARGET_WAITKIND_SPURIOUS on a
	first chance exception.
	(get_child_debug_event): Change return type to void.  Remove
	goto loop.  Always return after waiting for debug event.
	(win32_wait): Convert to switch statement.  Handle spurious
	events.

	* win32-i386-low.c (debug_registers_changed,
	debug_registers_used): New.
	(initial_stuff): Rename to ...
	(i386_initial_stuff): ... this.  Clear debug registers
	state variables.
	(store_debug_registers): Delete.
	(i386_get_thread_context): New.
	(load_debug_registers): Delete.
	(i386_set_thread_context): New.
	(i386_thread_added): New.
	(single_step): Rename to ...
	(i386_single_step): ... this.
	(do_fetch_inferior_registers): Rename to ...
	(i386_fetch_inferior_register): ... this.
	(i386_store_inferior_register): New.
	(the_low_target): Adapt to new interface.

	* win32-arm-low.c (CONTEXT_FLOATING_POINT): Define.
	(arm_get_thread_context): New.
	(arm_set_thread_context): New.
	(regptr): New.
	(do_fetch_inferior_registers): Rename to ...
	(arm_fetch_inferior_register): ... this.
	(arm_store_inferior_register): New.
	(arm_wince_breakpoint): Reimplement as unsigned long.
	(arm_wince_breakpoint_len): Define.
	(the_low_target): Adapt to new interface.

	* win32-low.h (target_ops): Remove regmap, store_debug_registers and
	load_debug_registers.  Add get_thread_context, set_thread_context,
	thread_added and store_inferior_register.  Rename
	fetch_inferior_registers to fetch_inferior_register.
	(regptr): Remove declaration.
2007-05-10 21:48:56 +00:00
Ulrich Weigand
7714d83ad4 * inf-ptrace.c (inf_ptrace_register_u_offset): Adapt parameter list.
(inf_ptrace_fetch_register): Add register_u_offset callback parameters
	GDBARCH and STORE_P.  Handle callback (CORE_ADDR) -1 return value.
	(inf_ptrace_store_register): Likewise.
	(inf_ptrace_trad_target): Adapt register_u_offset parameter list.
	* inf-ptrace.h (inf_ptrace_trad_target): Likewise.

	* vax-nat.c (vax_register_u_offset): Adapt parameter list.

	* linux-nat.c (linux_trad_target): Adapt parameter list.
	* linux-nat.h (linux_trad_target): Likewise.

	* alpha-linux-nat.c (alpha_linux_register_u_offset): Adapt parameters.

	* mips-linux-nat.c (mips_linux_cannot_fetch_register): Remove.
	(mips_linux_cannot_store_register): Likewise.
	(mips_linux_register_addr): Add GDBARCH and STORE_P parameters.
	Return (CORE_ADDR) -1 for registers that cannot be fetched or
	stored via ptrace.  Use GDBARCH instead of current_gdbarch.
	(mips64_linux_register_addr): Likewise.
	(mips_linux_register_u_offset): Adapt parameter list.  Pass
	GDBARCH and STORE_P on to mips{64}_linux_register_addr.

	* config/mips/linux.mh (NAT_FILE): Set to config/nm-linux.h.
	* config/mips/nm-linux.h: Delete file.
2007-05-10 21:36:00 +00:00
Pedro Alves
dd6953e1f3 * linux-low.c (linux_detach): Change return type to int. Return 0.
* spu-low.c (spu_detach): Likewise.
2007-05-10 21:33:31 +00:00
Pedro Alves
4ddda9b5eb * remote.c (remote_detach): Error out if remote can't detach. 2007-05-10 21:19:41 +00:00
Pedro Alves
362f854eaa Reindent last entry using emacs' re-fill text. 2007-05-10 21:14:50 +00:00
Pedro Alves
444d61395b * target.h (target_ops): Change return type of detach to int.
Add join.
	(join_inferior): New.
	* server.c (main): Don't skip detach support on mingw32.
	If the inferior doesn't support detaching return error.
	Call join_inferior instead of using waitpid.
	* linux-low.c (linux_join): New.
	(linux_target_op): Add linux_join.
	* spu-low.c (spu_join): New.
	(spu_target_ops): Add spu_join.
	* win32-low.c (win32_detach): Adapt to new interface.
	Reopen current_process_handle before detaching.  Issue a child
	resume before detaching.
	(win32_join): New.
	(win32_target_op): Add win32_join.
2007-05-10 21:05:15 +00:00
Pedro Alves
1d5315fee9 * win32-low.c (win32-attach): Fix return value.
* target.h (target_ops): Describe ATTACH return values.
2007-05-10 20:48:41 +00:00
Pedro Alves
bf91483160 * win32-low.c (GETPROCADDRESS): Define.
(winapi_DebugActiveProcessStop): Add WINAPI.  typedef as pointer.
	(winapi_DebugSetProcessKillOnExit): Likewise.
	(win32_create_inferior): Force usage of ansi CreateProcessA.
	(win32_attach): Use GETPROCADDRESS.
	(win32_detach): Likewise.
2007-05-10 20:39:18 +00:00
Ulrich Weigand
24d456905c 2007-05-10 Luis Machado <luisgpm@br.ibm.com>
* rs6000-tdep.c: (deal_with_atomic_sequence) Stores branch instruction's
	opcode in the "opcode" variable and declares new variable "closing_insn".
2007-05-10 20:29:03 +00:00
Pedro Alves
f72f3e600b * win32-low.c (win32_wait): Don't use WSTOPSIG. 2007-05-10 20:25:01 +00:00
Maciej W. Rozycki
1430be3e90 * cli/cli-setshow.c (do_setshow_command): Remove trailing
whitespace when setting a var_filename.
2007-05-10 13:28:03 +00:00
gdbadmin
2fc3dd1db9 *** empty log message *** 2007-05-10 00:00:33 +00:00
Bob Wilson
b0da54f118 * main.c (captured_main): Recognize -tui option and print an error
message when the TUI is not configured.
2007-05-09 21:46:52 +00:00
Andreas Schwab
9a88e5eef4 * mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Don't
set removed members.
	(mipsnbsd_lp64_fetch_link_map_offsets): Likewise.
2007-05-09 18:37:55 +00:00
Ulrich Weigand
fc0d8df4b3 * gdbarch.sh (deprecated_store_struct_return): Remove.
* gdbarch.c, gdbarch.h: Regenerate.
	* frv-tdep.c (frv_store_struct_return): Remove.
	(frv_gdbarch_init): Do not install it.
2007-05-09 00:17:22 +00:00
gdbadmin
6cac14f23d *** empty log message *** 2007-05-09 00:00:34 +00:00
Ulrich Weigand
179101d624 ChangeLog:
* config/i386/nm-i386sol2.h (USE_PROC_FS): Do not define.
	* config/mips/nm-irix5.h (USE_PROC_FS): Do not define.
	* config/nm-linux.h (USE_PROC_FS): Do not undefine.

doc/ChangeLog:

	* gdbint.texinfo (Native Conditionals): Remove USE_PROC_FS.
2007-05-08 23:39:14 +00:00
Ulrich Weigand
b9efddcd6f * spu-linux-nat.c: Include "gdb_stdint.h".
(fetch_ppc_register): Use uint64_t instead of unsigned long long.
	(fetch_ppc_memory_1, store_ppc_memory_1): Likewise.
	(fetch_ppc_memory, store_ppc_memory): Fix coding style.
	(spu_symbol_file_add_from_memory): Use strtoulst instead of sscanf.
	(spu_child_wait): Mark up string for translation.
2007-05-08 23:18:23 +00:00
Ulrich Weigand
ce5eab59d8 2007-05-08 Paul Gilliam <pgilliam@us.ibm.com>
Luis Machado  <luisgpm@br.ibm.com>

	* rs6000-tdep.c: (LWARX_MASK, LWARX_INSTRUCTION, LDARX_INSTRUCTION,
	STWCX_MASK, STWCX_INSTRUCTION, STDCX_INSTRUCTION, BC_MASK,
	BC_INSTRUCTION): Define.
	(deal_with_atomic_sequence): New function.
	(rs6000_software_single_step): Call deal_with_atomic_sequence.
	(rs6000_gdbarch_init): Install deal_with_atomic_sequence as
	gdbarch_software_single_step routine.
2007-05-08 12:49:12 +00:00
gdbadmin
f453a23a51 *** empty log message *** 2007-05-08 00:00:32 +00:00
Ulrich Weigand
4179a48767 * spu-linux-nat.c (fetch_ppc_register, fetch_ppc_memory_1,
store_ppc_memory_1, fetch_ppc_memory, store_ppc_memory,
	parse_spufs_run, spu_bfd_iovec_pread, spu_bfd_open,
	spu_symbol_file_add_from_memory, spu_child_post_startup_inferior,
	spu_child_post_attach, spu_fetch_inferior_registers,
	spu_store_inferior_registers, spu_xfer_partial): Store PPE-side
	memory addresses as ULONGEST, not CORE_ADDR.
2007-05-07 22:58:32 +00:00
Ulrich Weigand
6d350bb576 * gdbarch.sh: Add skip_permanent_breakpoint callback.
* gdbarch.h, gdbarch.c: Regenerate.

	* infrun.c (SKIP_PERMANENT_BREAKPOINT): Remove default definition.
	(resume): Call gdbarch_skip_permanent_breakpoint instead of
	SKIP_PERMANENT_BREAKPOINT.  Inline default case.

	* hppa-hpux-tdep.c (hppa_skip_permanent_breakpoint): Make static.
	Add REGCACHE argument.  Use it instead of read/write_register.
	(hppa_hpux_init_abi): Install hppa_skip_permanent_breakpoint.

	* config/pa/tm-hppah.h: Delete file.
	* config/pa/hppa64.mt (DEPRECATED_TM_FILE): Set to tm-hppa.h.
	* config/pa/hppahpux.mt (DEPRECATED_TM_FILE): Likewise.
2007-05-07 18:20:21 +00:00
Daniel Jacobowitz
b18be20d0a * Makefile.in (c-lang.o, gnu-v3-abi.o): Update.
* NEWS: Mention improved C++ thunk support.
	* c-lang.c (cplus_language_defn): Mention cplus_skip_trampoline.
	* cp-abi.c (cplus_skip_trampoline): New.
	* cp-abi.h (cplus_skip_trampoline): New prototype.
	(struct cp_abi_ops): Add skip_trampoline member.
	* gnu-v3-abi.c (gnuv3_skip_trampoline): New.
	(init_gnuv3_ops): Set skip_trampoline.

	* gdb.cp/virtfunc.exp (proc do_tests): Test stepping through a thunk.
2007-05-07 11:49:05 +00:00
Daniel Jacobowitz
dda9b909e6 * rs6000-tdep.c (struct frame_extra_info): Delete. 2007-05-07 01:25:07 +00:00
Daniel Jacobowitz
be44485822 * gdb.fortran/complex.exp, gdb.fortran/complex.f: New files. 2007-05-07 01:11:31 +00:00
Daniel Jacobowitz
34091d9bf9 * linux-thread-db.c: Update some FIXME comments.
(thread_db_xfer_partial): Delete.
	(init_thread_db_ops): Do not set to_xfer_partial.
2007-05-07 00:46:42 +00:00
Ulrich Weigand
1da33a4a1b * inftarg.c, infptrace.c: Remove files.
* Makefile.in (ALLDEPFILES): Remove inftarg.c and infptrace.c
	(inftarg.o, infptrace.o): Remove rules.
	* gdbcore.h (register_addr): Remove prototype.
	* inferior.h (kill_inferior, store_inferior_registers,
	fetch_inferior_registers, attach, detach, ptrace_wait, child_resume,
	call_ptrace, pre_fork_inferior): Remove prototypes.
	* target.h (child_xfer_memory, child_pid_to_exec_file,
	child_core_file_to_sym_file, child_post_attach,
	child_post_startup_inferior, child_acknowledge_created_inferior,
	child_insert_fork_catchpoint, child_remove_fork_catchpoint,
	child_insert_vfork_catchpoint, child_remove_vfork_catchpoint,
	child_insert_exec_catchpoint, child_remove_exec_catchpoint,
	child_follow_fork, child_reported_exec_events_per_exec_call,
	child_has_exited, child_thread_alive): Remove prototypes.
2007-05-07 00:21:04 +00:00
Ulrich Weigand
6f7a27d555 * sparc-nat.h (sparc_fetch_inferior_registers): Add prototype.
(sparc_store_inferior_registers): Likewise.
	* sparc-nat.c (fetch_inferior_registers): Rename to ...
	(sparc_fetch_inferior_registers): ... this.
	(store_inferior_registers): Rename to ...
	(sparc_store_inferior_registers): ... this.
	(sparc_target): Update callback names.
	* sparc-linux.nat.c (_initialize_sparc_linux_nat): Likewise.
	* sparc64-linux.nat.c (_initialize_sparc64_linux_nat): Likewise.
2007-05-07 00:19:36 +00:00
Ulrich Weigand
6d8fd2b7b1 * linux-nat.c (child_post_attach): Rename to ...
(linux_child_post_attach): ... this.  Make static.
	(child_follow_fork): Rename to ...
	(linux_child_follow_fork): ... this.  Make static.
	(child_insert_fork_catchpoint): Rename to ...
	(linux_child_insert_fork_catchpoint): ... this.  Make static.
	(child_insert_vfork_catchpoint): Rename to ...
	(linux_child_insert_vfork_catchpoint): ... this.  Make static.
	(child_insert_exec_catchpoint): Rename to ...
	(linux_child_insert_exec_catchpoint): ... this.  Make static.
	(child_pid_to_exec_file): Rename to ...
	(linux_child_pid_to_exec_file): ... this.  Make static.
	Add prototype.
	(linux_handle_extended_wait): Update call.
	(linux_xfer_partial): Update callback routine names.
2007-05-07 00:18:39 +00:00
gdbadmin
f1711da729 *** empty log message *** 2007-05-07 00:00:33 +00:00
Ulrich Weigand
d08950c4fc * configure.host (alpha*-*-osf[12]*): Remove support.
* NEWS: Mention removed configurations.

	* config/alpha/alpha-osf1.mh: Delete file.
	* config/alpha/alpha-osf2.mh: Delete file.
	* config/alpha/alpha-osf3.mh (NATDEPFILES): Remove inftarg.o
	and infptrace.o.
	* config/alpha/nm-osf.h: Delete file.
	* config/alpha/nm-osf2.h: Delete file.
	* config/alpha/nm-osf3.h: Do not include "nm-osf2.h".
	(START_INFERIOR_TRAPS_EXPECTED): Copy from nm-osf.h.
	(PROCFS_DONT_TRACE_FAULTS): Copy from nm-osf2.h.

	* alpha-nat.c (ALPHA_UNIQUE_PTRACE_ADDR): Do not define.
	(register_addr, kernel_u_size): Remove.
	Do not check for "defined(USE_PROC_FS) || defined(HAVE_GREGSET_T)".
2007-05-06 23:04:26 +00:00
Ulrich Weigand
9c5ea4d965 * regcache.c (regcache_invalidate): New function.
(register_cached): Remove.
	(set_register_cached): Remove.
	(deprecated_registers_fetched): Remove.
	(registers_changed): Use regcache_invalidate instead
	of set_register_cached.
	(regcache_raw_read): Update comment.

	* regcache.h (regcache_invalidate): Add prototype.
	(register_cached): Remove.
	(set_register_cached): Remove.
	(deprecated_registers_fetched): Remove.

	* findvar.c (value_of_register): Do not call register_cached.
	* frame.c (frame_register): Likewise.
	* tui/tui-regs.c (tui_get_register): Likewise.

	* remote.c (fetch_register_using_p): Do not call set_register_cached.
	(process_g_packet): Likewise.
	(remote_fetch_registers): Likewise.
	* remote-sim.c (gdbsim_fetch_register): Likewise.
	* mt-tdep.c (mt_select_coprocessor): Replace set_register_cached call
	by regcache_invalidate.
	(mt_pseudo_register_write): Likewise.
	* sh-tdep.c (sh_pseudo_register_write): Likewise.

	* corelow.c (get_core_registers): Replace deprecated_registers_fetched
	call by loop over regcache_raw_supply (..., NULL).
2007-05-06 19:37:31 +00:00
Ulrich Weigand
316f20603a * target.h (struct target_ops): Add REGCACHE parameter to
to_prepare_to_store.
	(target_prepare_to_store): Likewise.
	* target.c (debug_to_prepare_to_store): Add REGCACHE parameter.
	(update_current_target): Adapt prepare_to_store de_fault rule.

	* regcache.c (regcache_raw_write): Pass regcache to
	target_prepare_to_store.

	* inftarg.c (child_prepare_to_store): Add REGCACHE parameter.
	Do not call CHILD_PREPARE_TO_STORE.
	* gnu-nat.c (gnu_prepare_to_store): Likewise.
	* procfs.c (procfs_prepare_to_store): Likewise.

	* inf-child.c (inf_child_prepare_to_store): Add REGCACHE parameter.
	* go32-nat.c (go32_prepare_to_store): Likewise.
	* monitor.c (monitor_prepare_to_store): Likewise.
	* nto-procfs.c (procfs_prepare_to_store): Likewise.
	* remote-m32r-sdi.c (m32r_prepare_to_store): Likewise.
	* remote-mips.c (mips_prepare_to_store): Likewise.
	* remote-sim.c (gdbsim_prepare_to_store): Likewise.
	* win32-nat.c (win32_prepare_to_store): Likewise.

	* remote.c (remote_prepare_to_store): Add REGCACHE parameter.
	Use it instead of current_regcache.

	* hpux-thread.c (hpux_thread_prepare_to_store): Add REGCACHE
	parameter.  Pass it on to next target.
	* sol-thread.c (sol_thread_prepare_to_store): Likewise.
2007-05-06 18:55:41 +00:00
Ulrich Weigand
56be38147c * target.h (struct regcache): Add forward declaration.
(struct target_ops): Add REGCACHE parameter to to_fetch_registers
	and to_store_registers target operations.
	(target_fetch_registers, target_store_registers): Update.

	* regcache.c (regcache_raw_read): Replace register_cached by
	regcache_valid_p.  Pass regcache to target_fetch_registers.
	(regcache_raw_write): Pass regcache to target_store_registers.

	* arm-linux-nat.c (store_fpregister, store_fpregs, store_register,
	store_regs, store_wmmx_regs): Replace register_cached by
	regcache_valid_p.

	* bsd-kvm.c (bsd_kvm_open, bsd_kvm_proc_cmd): Pass current_regcache
	to target_fetch_registers calls.
	* corelow.c (core_open): Likewise.
	* linux-nat.c (linux_nat_corefile_thread_callback): Likewise.
	* proc-service.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
	ps_lsetfpregs): Likewise.
	* sol-thread.c (ps_lgetregs, ps_lsetregs, ps_lgetfpregs,
	ps_lsetfpregs): Likewise.
	* win32-nat.c (win32_resume): Likewise.
	* ia64-tdep.c (ia64_store_return_value): Pass current_regcache
	to target_store_registers call.
	* rs6000-tdep.c (rs6000_push_dummy_call): Likewise.

	* inferior.h (store_inferior_registers): Update prototype.
	(fetch_inferior_registers): Likewise.
	* gnu-nat.c (gnu_store_registers, gnu_fetch_registers): Likewise.
	* mips-linux-nat.c (super_fetch_registers, super_store_registers):
	Update function pointer signatures.

	* aix-thread.c (aix_thread_fetch_registers): Add REGCACHE parameter,
	use it instead of current_regcache, update calls.
	(aix_thread_store_registers): Likewise.
	* alphabsd-nat.c (alphabsd_fetch_inferior_registers): Likewise.
	(alphabsd_store_inferior_registers): Likewise.
	* amd64bsd-nat.c (amd64bsd_fetch_inferior_registers): Likewise.
	(amd64bsd_store_inferior_registers): Likewise.
	* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers): Likewise.
	(amd64_linux_store_inferior_registers): Likewise.
	* arm-linux-nat.c (fetch_fpregister, fetch_fpregs, store_fpregister,
	store_fpregs, fetch_register, fetch_regs, store_register, store_regs,
	fetch_wmmx_regs, store_wmmx_regs): Likewise.
	(arm_linux_fetch_inferior_registers): Likewise.
	(arm_linux_store_inferior_registers): Likewise.
	* armnbsd-nat.c (fetch_register, fetch_regs, fetch_fp_register,
	fetch_fp_regs, armnbsd_fetch_registers): Likewise.
	(store_register, store_regs, store_fp_register, store_fp_regs,
	armnbsd_store_registers): Likewise.
	* bsd-kvm.c (bsd_kvm_fetch_pcb, bsd_kvm_fetch_registers): Likewise.
	* bsd-uthread.c (bsd_uthread_fetch_registers): Likewise.
	(bsd_uthread_store_registers): Likewise.
	* corelow.c (get_core_registers): Likewise.
	* go32-nat.c (fetch_register, go32_fetch_registers, store_register,
	go32_store_registers): Likewise.
	* hppabsd-nat.c (hppabsd_fetch_registers): Likewise.
	(hppabsd_store_registers): Likewise.
	* hppa-hpux-nat.c (hppa_hpux_fetch_register): Likewise.
	(hppa_hpux_fetch_inferior_registers): Likewise.
	(hppa_hpux_store_register): Likewise.
	(hppa_hpux_store_inferior_registers): Likewise.
	* hppa-linux-nat.c (fetch_register, store_register): Likewise.
	(hppa_linux_fetch_inferior_registers): Likewise.
	(hppa_linux_store_inferior_registers): Likewise.
	* hpux-thread.c (hpux_thread_fetch_registers): Likewise.
	(hpux_thread_store_registers): Likewise.
	* i386bsd-nat.c (i386bsd_fetch_inferior_registers): Likewise.
	(i386bsd_store_inferior_registers): Likewise.
	* i386gnu-nat.c (fetch_fpregs, gnu_fetch_registers, store_fpregs,
	gnu_store_registers): Likewise.
	* i386-linux-nat.c (fetch_register, store_register, fetch_regs,
	store_regs, fetch_fpregs, store_fpregs, fetch_fpxregs, store_fpxregs):
	Likewise.
	(i386_linux_fetch_inferior_registers): Likewise.
	(i386_linux_store_inferior_registers): Likewise.
	* ia64-linux-nat.c (ia64_linux_fetch_register): Likewise.
	(ia64_linux_fetch_registers): Likewise.
	(ia64_linux_store_register): Likewise.
	(ia64_linux_store_registers): Likewise.
	* inf-child.c (inf_child_fetch_inferior_registers): Likewise.
	(inf_child_store_inferior_registers): Likewise.
	* inf-ptrace.c (inf_ptrace_fetch_register): Likewise.
	(inf_ptrace_fetch_registers): Likewise.
	(inf_ptrace_store_register): Likewise.
	(inf_ptrace_store_registers): Likewise.
	* infptrace.c (fetch_register, store_register): Likewise.
	(fetch_inferior_registers, store_inferior_registers): Likewise.
	* m32r-linux-nat.c (fetch_regs, store_regs): Likewise.
	(m32r_linux_fetch_inferior_registers): Likewise.
	(m32r_linux_store_inferior_registers): Likewise.
	* m68kbsd-nat.c (m68kbsd_fetch_inferior_registers): Likewise.
	(m68kbsd_store_inferior_registers): Likewise.
	* m68klinux-nat.c (fetch_register, old_fetch_inferior_registers,
	store_register, old_store_inferior_registers, fetch_regs, store_regs,
	fetch_fpregs, store_fpregs): Likewise.
	(m68k_linux_fetch_inferior_registers): Likewise.
	(m68k_linux_store_inferior_registers): Likewise.
	* m88kbsd-nat.c (m88kbsd_fetch_inferior_registers): Likewise.
	(m88kbsd_store_inferior_registers): Likewise.
	* mips64obsd-nat.c (mips64obsd_fetch_inferior_registers): Likewise.
	(mips64obsd_store_inferior_registers): Likewise.
	* mips-linux-nat.c (mips64_linux_regsets_fetch_registers): Likewise.
	(mips64_linux_regsets_store_registers): Likewise.
	(mips64_linux_fetch_registers): Likewise.
	(mips64_linux_store_registers): Likewise.
	* mipsnbsd-nat.c (mipsnbsd_fetch_inferior_registers): Likewise.
	(mipsnbsd_store_inferior_registers): Likewise.
	* monitor.c (monitor_fetch_register, monitor_store_register): Likewise.
	(monitor_fetch_registers, monitor_store_registers): Likewise.
	* nto-procfs.c (procfs_fetch_registers): Likewise.
	(procfs_store_registers): Likewise.
	* ppc-linux-nat.c (fetch_altivec_register, fetch_spe_register,
	fetch_register, supply_vrregset, fetch_altivec_registers,
	fetch_ppc_registers, ppc_linux_fetch_inferior_registers): Likewise.
	(store_altivec_register, store_spe_register, store_register,
	fill_vrregset, store_altivec_registers, store_ppc_registers,
	ppc_linux_store_inferior_registers): Likewise.
	* ppcnbsd-nat.c (ppcnbsd_fetch_inferior_registers): Likewise.
	(ppcnbsd_store_inferior_registers): Likewise.
	* ppcobsd-nat.c (ppcobsd_fetch_registers): Likewise.
	(ppcobsd_store_registers): Likewise.
	* procfs.c (procfs_fetch_registers, procfs_store_registers): Likewise.
	* remote.c (fetch_register_using_p, process_g_packet,
	fetch_registers_using_g, remote_fetch_registers): Likewise.
	(store_register_using_P, store_registers_using_G,
	remote_store_registers): Likewise.
	* remote-m32r-sdi.c (m32r_fetch_registers, m32r_fetch_register,
	m32r_store_register, m32r_store_register): Likewise.
	* remote-mips.c (mips_fetch_registers, mips_store_registers): Likewise.
	* remote-sim.c (gdbsim_fetch_register): Likewise.
	(gdbsim_store_register): Likewise.
	* rs6000-nat.c (fetch_register, store_register): Likewise.
	(rs6000_fetch_inferior_registers): Likewise.
	(rs6000_store_inferior_registers): Likewise.
	* s390-nat.c (fetch_regs, store_regs): Likewise.
	(fetch_fpregs, store_fpregs): Likewise.
	(s390_linux_fetch_inferior_registers): Likewise.
	(s390_linux_store_inferior_registers): Likewise.
	* shnbsd-nat.c (shnbsd_fetch_inferior_registers): Likewise.
	(shnbsd_store_inferior_registers): Likewise.
	* sol-thread.c (sol_thread_fetch_registers): Likewise.
	(sol_thread_store_registers): Likewise.
	* sparc-nat.c (fetch_inferior_registers): Likewise.
	(store_inferior_registers): Likewise.
	* spu-linux-nat.c (spu_fetch_inferior_registers): Likewise.
	(spu_store_inferior_registers): Likewise.
	* target.c (debug_print_register): Likewise.
	(debug_to_fetch_registers, debug_to_store_registers): Likewise.
	* vaxbsd-nat.c (vaxbsd_fetch_inferior_registers): Likewise.
	(vaxbsd_store_inferior_registers): Likewise.
	* win32-nat.c (do_win32_fetch_inferior_registers): Likewise.
	(win32_fetch_inferior_registers): Likewise.
	(win32_store_inferior_registers): Likewise.
2007-05-06 14:34:38 +00:00
Ulrich Weigand
9eefc95f4b * gdbcore.h (struct regcache): Add forward declaration.
(struct core_fns): Add REGCACHE argument to core_read_registers
	callback.
	* corelow.c (get_core_register_section): Add REGCACHE argument,
	use it instead of current_regcache, pass it to core_read_registers
	callback.
	(get_core_registers): Add current_regcache as parameter to
	get_core_register_section calls.

	* alpha-nat.c (fetch_osf_core_registers): Add REGCACHE argument,
	use it instead of current_regcache.
	* armnbsd-nat.c (fetch_core_registers): Likewise.
	(fetch_elfcore_registers): Likewise.
	* core-regset.c (fetch_core_registers): Likewise.
	* cris-tdep.c (fetch_core_registers): Likewise.
	* irix5-nat.c (fetch_core_registers): Likewise.
	* m68klinux-nat.c (fetch_core_registers): Likewise.
	* mips-linux-tdep.c (fetch_core_registers): Likewise.
	* win32-nat.c (fetch_elf_core_registers): Likewise.
2007-05-06 14:33:21 +00:00
Ulrich Weigand
7f7fe91e15 * gregset.h (struct regcache): Add forward declaration.
(supply_gregset): Add REGCACHE parameter, make GREGS const.
	(supply_fpregset): Add REGCACHE parameter, make FPREGS const.
	(supply_fpxregset): Add REGCACHE parameter, make FPXREGS const.
	(fill_gregset): Add REGCACHE parameter.
	(fill_fpregset): Likewise.
	(fill_fpxregset): Likewise.

	Update all definitions accordingly:
	* alphabsd-nat.c, alpha-linux-nat.c, alpha-nat.c, amd64-linux-nat.c,
	arm-linux-nat.c, hppa-linux-nat.c, i386gnu-nat.c, i386-linux-nat.c,
	i386-sol2-nat.c, i386v4-nat.c, ia64-linux-nat.c, irix5-nat.c,
	m32r-linux-nat.c, m68klinux-nat.c, mips-linux-nat.c, ppc-linux-nat.c,
	s390-nat.c, sparc64-linux-nat.c, sparc-linux-nat.c, sparc-sol2-nat.c
	(supply_gregset): Add REGCACHE parameter, use it instead of
	current_regcache.  Make GREGSETP parameter const, adapt casts.
	(supply_fpregset): Add REGCACHE parameter, use it instead of
	current_regcache.  Make FPREGSETP parameter const, adapt casts.
	(fill_gregset): Add REGCACHE parameter, use it instead of
	current_regcache.
	(fill_fpregset): Likewise.

	Update all callers to pass in current_regcache as the new argument:
	* core-regset.c: Include "regcache.h".
	(fetch_core_registers): Update supply_gregset,and supply_fpregset calls.
	* procfs.c: Include "regcache.h".
	(procfs_fetch_registers): Update supply_gregset, supply_fpregset calls.
	(procfs_store_registers): Update fill_gregset, fill_fpregset calls.
	(procfs_do_thread_registers): Likewise.
	(procfs_make_note_section): Likewise.
	* proc-service.c: Include "regcache.h".
	(ps_lgetregs): Update fill_gregset call.
	(ps_lsetregs): Update supply_gregset call.
	(ps_lgetfpregs): Update fill_fpregset call.
	(ps_lsetfpregs): Update supply_fpregset call.
	* sol-thread.c (sol_thread_fetch_registers): Update supply_gregset,
	supply_fpregset calls.
	(sol_thread_store_registers): Update fill_gregset, fill_fpregset calls.
	(ps_lgetregs): Update fill_gregset call.
	(ps_lsetregs): Update supply_gregset call.
	(ps_lgetfpregs): Update fill_fpregset call.
	(ps_lsetfpregs): Update supply_fpregset call.

	* linux-nat.c (linux_nat_do_thread_registers): Update fill_gregset,
	fill_fpregset, and fill_fpxregset calls.
	* i386-linux-nat.c (fetch_regs): Update supply_gregset call.
	(store_regs): Update fill_gregset call.
	(fetch_fpregs): Update supply_fpregset call.
	(store_fpregs): Update fill_fpregset call.
	(fetch_fpxregs): Update supply_fpxregset call.
	(store_fpxregs): Update fill_fpxregset call.
	* m32r-linux-nat.c (fetch_regs): Update supply_gregset call.
	(store_regs): Update fill_gregset call.
	* m68klinux-nat.c (fetch_regs): Update supply_gregset call.
	(store_regs): Update fill_gregset call.
	(fetch_fpregs): Update supply_fpregset call.
	(store_fpregs): Update fill_fpregset call.
	(fetch_core_registers): Update supply_gregset, supply_fpregset calls.
	* s390-nat.c (fetch_regs): Update supply_gregset call.
	(store_regs): Update fill_gregset call.
	(fetch_fpregs): Update supply_fpregset call.
	(store_fpregs): Update fill_fpregset call.

	* Makefile.in (core-regset.o, procfs.o, proc-service.o): Update
	dependencies.
2007-05-06 14:32:31 +00:00
Ulrich Weigand
c410a84ca9 * monitor.c (monitor_supply_register): Add REGCACHE parameter, use
it instead of current_regcache.
	(parse_register_dump): Add REGCACHE parameter, pass it to
	supply_register callback.
	(monitor_dump_reg_block): Add REGCACHE parameter, pass it to
	parse_register_dump.
	(monitor_dump_regs): Add REGCACHE parameter, pass it to
	parse_register_dump and dumpregs callback.
	(monitor_wait): Pass current_regcache to parse_register_dump and
	monitor_dump_regs.
	(monitor_fetch_register): Pass current_regcache to
	monitor_supply_register.
	(monitor_fetch_registers): Pass current_regcache to
	monitor_dump_regs.
	* monitor.h (struct monitor_ops): Add REGCACHE parameter to
	supply_register and dumpregs callbacks.
	(monitor_supply_register, monitor_dump_reg_block): Update
	prototypes.
	* dbug-rom.c (dbug_supply_register): Add REGCACHE parameter.  Pass
	it to monitor_supply_register.
	* dink32-rom.c (dink32_supply_register): Likewise.
	* ppcbug-rom.c (ppcbug_supply_register): Likewise.
	* m32r-rom.c (m32r_supply_register): Likewise.  Also, use REGCACHE
	instead of current_regcache.
2007-05-06 14:31:30 +00:00
Ulrich Weigand
468e3d5126 * i386-nto-tdep.c (i386nto_supply_gregset, i386nto_supply_fpregset):
Add REGCACHE parameter.  Use it instead of current_regcache.
	(i386nto_supply_regset): Add REGCACHE parameter, pass it to
	i386nto_supply_gregset and i386nto_supply_fpregset.
	(i386nto_regset_fill): Add REGCACHE parameter; use it instead
	of current_regcache.

	* nto-procfs.c (procfs_fetch_registers): Pass current_regcache to
	nto_supply_ helper functions.
	(procfs_store_registers): Pass current_regcache to nto_regset_fill.

	* nto-tdep.c (nto_dummy_supply_regset): Add REGCACHE parameter.

	* nto-tdep.h (struct nto_target_ops): Add REGCACHE parameter to
	supply_greget, supply_fpregset, supply_altregset, supply_regset,
	and regset_fill member function pointers.
	(nto_dummy_supply_regset): Adapt prototype.
2007-05-06 14:30:45 +00:00