Commit Graph

59046 Commits

Author SHA1 Message Date
Pedro Alves
4e1c45eac7 Remove context switching in favour of accessing thread_info fields
directly.

	* infrun.c (stepping_over_breakpoint, step_resume_breakpoint):
	Delete.
	(struct thread_stepping_state): Delete.
	(gtss, tss): Delete.
	(follow_inferior_reset_breakpoints, follow_exec)
	(resume, clear_proceed_status): Adjust.
	(prev_pc): Delete.
	(proceed, start_remote, init_wait_for_inferior): Adjust.
	(struct execution_control_state): Add event_thread member.
	(delete_step_resume_breakpoint_callback)
	(delete_step_thread_step_resume_breakpoint)
	(delete_step_thread_step_resume_breakpoint_cleanup)
	(delete_step_thread_step_resume_breakpoint): New.
	(wait_for_inferior, init_execution_control_state): Use
	delete_step_thread_step_resume_breakpoint_cleanup.
	(wait_for_inferior): Set the event_thread.
	(fetch_inferior_event): Ditto.  Delete the step-resume breakpoint
	with delete_step_thread_step_resume_breakpoint.
	(init_thread_stepping_state): Change parameter type to
	thread_info.  Adjust.
	(context_switch): Don't context switch prev_pc,
	stepping_over_breakpoint, step_resume_breakpoint,
	step_range_start, step_range_end, step_frame_id,
	tss->stepping_over_breakpoint,
	tss->stepping_through_solib_after_catch,
	tss->stepping_through_solib_catchpoints, tss->current_line, or
	tss->current_symtab.
	(adjust_pc_after_break, handle_inferior_event)
	(currently_stepping, step_into_function)
	(insert_step_resume_breakpoint_at_sal)
	(insert_longjmp_resume_breakpoint, keep_going): Adjust.
	(clear_stepping_state): New.
	(normal_stop): Adjust.
	(save_inferior_status, restore_inferior_status): Adjust.

	* gdbthread.h (struct thread_info): Comments describing the
	members moved here.  Add step_after_step_resume_breakpoint.
	(delete_step_resume_breakpoint): Add thread_info argument.
	(save_infrun_state, load_infrun_state): Remove prev_pc,
	trap_expected, step_resume_breakpoint, step_range_start,
	step_range_end, step_frame_id, another_trap,
	stepping_through_solib_after_catch,
	stepping_through_solib_catchpoints, current_line and
	current_symtab function arguments.
	(inferior_thread): Declare.

	* thread.c (inferior_thread): New.
	(delete_step_resume_breakpoint): Add a thread_info parameter and
	rewrite.
	(load_infrun_state, save_infrun_state): Remove prev_pc,
	trap_expected, step_resume_breakpoint, step_range_start,
	step_range_end, step_frame_id, stepping_over_breakpoint,
	stepping_through_solib_after_catch,
	stepping_through_solib_catchpoints, current_line and
	current_symtab args.  Remove code referencing them.

	* infcmd.c (step_range_start, step_range_end, step_frame_id):
	Delete.
	(step_1, step_once, until_next_command): Adjust.

	* inferior.h (step_range_start, step_range_end, step_frame_id):
	Delete.

	* linux-nat.c (linux_child_follow_fork): If following the child,
	move the step state to it.  Adjust.
	* inf-ptrace.c (inf_ptrace_follow_fork): Ditto.
	* inf-ttrace.c (inf_ttrace_follow_fork): Ditto.
2008-09-08 21:40:39 +00:00
Pedro Alves
757f359dd1 * bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main
thread.
2008-09-08 21:37:01 +00:00
Pedro Alves
0de3b513a4 * corelow.c (add_to_thread_list): If this is the first time we
hear about thread info, update inferior_ptid.
	(core_open): Clear the thread list and set inferior_ptid before
	acknowledging a new inferior.  Find threads before fetching
	register info.  Give an upper target layer a chance to find and
	claim new threads.  Print core generation and stop signal info
	after finding new threads.
	(get_core_register_section): Look at the lwp member of
	inferior_ptid for detecting if we have threads info, instead of
	the pid member.
	(core_pid_to_str): New.
	(init_core_ops): Register core_pid_to_str.
2008-09-08 21:36:01 +00:00
Pedro Alves
4189d2f820 * spu-linux-nat.c (spu_child_post_startup_inferior)
(spu_child_post_attach): Don't add the main thread here.
2008-09-08 21:34:35 +00:00
Pedro Alves
617fd3b510 Use ptid_t.tid to store thread ids instead of ptid_t.pid.
* gnu-nat.c (inf_validate_procs): If this is the first time we're
	seeing a thread id, extend the main thread's ptid.  If we still
	have pending execs, don't be verbose about new threads.
	(gnu_wait, gnu_resume, gnu_attach, gnu_thread_alive)
	(gnu_pid_to_str, cur_thread, sig_thread_cmd): Adjust.
	* i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers):
	Adjust.
2008-09-08 21:33:25 +00:00
Pedro Alves
2689673f45 * procfs.c (to_attach): Create a procinfo for the current lwp.
Add it to gdb's thread list.
	(procfs_fetch_registers, procfs_store_registers): Assume there's
	always an lwp.
	(procfs_wait): Don't add the main thread here.
	(procfs_init_inferior): Create a procinfo for the main lwp here.
	Change main thread's ptid with thread_change_ptid.
	(procfs_notice_thread): Check for exited threads.
	(procfs_corefile_thread_callback): Remove check for the main
	process.
	(procfs_make_note_section): Assume there is always a thread.

	* sol-thread.c (sol_thread_attach): Clear sol_thread_active before
	attaching.  Change the main thread ptid with thread_change_ptid.
	(sol_thread_detach): Clear sol_thread_active.
	(sol_thread_wait): Check for exited threads.
	(sol_thread_create_inferior): Clear sol_thread_active before
	creating a new inferior.  Change the main thread ptid with
	thread_change_ptid.
	(sol_thread_mourn_inferior): Clear sol_thread_active.
	(sol_find_new_threads_callback): Check for exited threads.
2008-09-08 21:31:54 +00:00
Pedro Alves
62a93fa9cb * inf-ttrace.c (inf_ttrace_wait): On TTEVT_LWP_CREATE and
LWP_TERMINATE, resume the caller thread.  On TTEVT_LWP_CREATE,
	TTEVT_LWP_EXIT and TTEVT_LWP_TERMINATE, don't stop the whole
	process, and return TARGET_WAITKIND_IGNORE.
2008-09-08 21:30:23 +00:00
Pedro Alves
438ac09b47 * inf-ttrace.c: Include <signal.h>
(inf_ttrace_delete_dead_threads_callback): New.
	(inf_ttrace_resume_lwp): New.
	(inf_ttrace_resume_callback, inf_ttrace_resume): Rewrite.  Don't
	delete dying threads until they are really dead.
	(inf_ttrace_wait): After stopping the whole process, delete any
	dying thread that is really dead by now.
	(inf_ttrace_thread_alive): Return 1.
	(inf_ttrace_extra_thread_info): New.
	(inf_ttrace_target): Register inf_ttrace_extra_thread_info.
2008-09-08 21:28:53 +00:00
Pedro Alves
2935f27f6e * inf-ttrace.c (inf_ttrace_follow_fork): Register the main thread
of the child fork.
	(inf_ttrace_attach): Add the main thread.
	(inf_ttrace_resume_callback): Check for exited threads.  Adjust
	for always a thread.
	(inf_ttrace_wait): Decorate the main thread's ptid with lwp info
	using thread_change_ptid, and set its private data.  Don't add the
	main thread here.
	(inf_ttrace_pid_to_str): Adjust.
2008-09-08 21:27:45 +00:00
Pedro Alves
fb5e7258b3 * bsd-uthread.c (bsd_uthread_wait): Decorate the main thread with
thread_change_ptid.  Check for exited threads.
	(bsd_uthread_find_new_threads): Check for exited threads.
2008-09-08 21:26:36 +00:00
Pedro Alves
af99052775 * inf-ptrace.c: Include "gdbthread.h".
(inf_ptrace_attach): Add the main thread here.
	* linux-nat.c (linux_nat_attach): Don't add the main thread here.
	Decorate the main thread id with the lwp id.
2008-09-08 21:25:05 +00:00
Pedro Alves
27c9d2043e * linux-nat.c (linux_nat_wait): Update inferior_ptid's ptid with
thread_change_ptid.  Don't add or mark the main thread as running
	and executing here.
	* fork-child.c (fork_inferior): Add the main thread here.
2008-09-08 21:22:49 +00:00
Pedro Alves
5822d809e7 * regcache.c (new_register_cache): Return NULL if the register
cache size isn't known yet.
	(free_register_cache): Avoid dereferencing a NULL regcache.
2008-09-08 21:16:18 +00:00
Jerome Guitton
de9f48f0c4 * rs6000-tdep.c (rs6000_fetch_instruction)
(rs6000_skip_stack_check): New functions.
	(skip_prologue): Skip stack check sequence.
2008-09-08 16:18:24 +00:00
H.J. Lu
25d650345c 2008-09-08 H.J. Lu <hongjiu.lu@intel.com>
2008-09-07  Alan Modra  <amodra@bigpond.net.au>

	* emultempl/beos.em (gld${EMULATION_NAME}_place_orphan): Updated.
	* emultempl/sunos.em (gld${EMULATION_NAME}_before_allocation): Likewise.
2008-09-08 16:07:46 +00:00
Jerome Guitton
3b8a7fc087 * gdb.arch/powerpc-aix-prologue.c (stack_check_probe_1)
(stack_check_probe_2, stack_check_probe_loop_1)
	(stack_check_probe_loop_2): New functions.
	(main): Add call to these new functions.
	* gdb.arch/powerpc-aix-prologue.exp: When breaking on these
	functions, check that the breakpoint is inserted at the appropriate
	location.
	(insert_breakpoint): Slightly refine this procedure so that it can
	be called several times in the test.
2008-09-08 16:03:14 +00:00
Jerome Guitton
96cc0ae8e0 * gdb.base/stack-checking.c: New file.
* gdb.base/stack-checking.exp: New file.
2008-09-08 15:54:29 +00:00
David Daney
52163a60e6 * dummy-frame.h (frame.h): Include it.
(struct frame_id): Remove declaration.
2008-09-08 15:23:12 +00:00
Tristan Gingold
96497422d6 2008-09-08 Tristan Gingold <gingold@adacore.com>
* configure.in: Update version to 2.19.50
        * configure: Regenerated.
2008-09-08 12:55:19 +00:00
Tristan Gingold
9d4f29f35c 2008-09-08 Tristan Gingold <gingold@adacore.com>
* BRANCHES: Add 2.18 and 2.19 release branches.
2008-09-08 12:44:32 +00:00
Tristan Gingold
6e33da127b ld/
2008-09-08  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add a marker for the 2.19 features.
gas/
2008-09-08  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add a marker for the 2.19 features.

binutils/
2008-09-08  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add a marker for the 2.19 features.
2008-09-08 08:56:57 +00:00
Dave Anglin
ded49c3ea3 * config/tc-hppa.h (DIFF_EXPR_OK): Define for SOM target. Revise
comment regarding use of difference expressions.
	(TC_FORCE_RELOCATION_SUB_LOCAL): Define to 1.
2008-09-08 00:54:26 +00:00
Alan Modra
449373d9d0 daily update 2008-09-08 00:00:06 +00:00
gdbadmin
3fa3d46210 *** empty log message *** 2008-09-08 00:00:03 +00:00
Dave Anglin
3dd243066b * dw2gencfi.c (CFI_DIFF_EXPR_OK): Define if not defined.
(dot_cfi_personality): Use CFI_DIFF_EXPR_OK instead of DIFF_EXPR_OK.
	(dot_cfi_lsda, output_cie, output_fde): Likewise.
	* config/tc-hppa.h (CFI_DIFF_EXPR_OK): Define.
2008-09-07 22:54:54 +00:00
Alan Modra
66c103b772 * ldlang.h (lang_output_section_find): Define.
(lang_output_section_statement_lookup): Update prototype.
	* ldlang.c (lang_output_section_find,
	lang_output_section_statement_lookup_1): Merge into..
	(lang_output_section_statement_lookup): ..here.  Update all callers.
	(process_insert_statements): Set constraint negative
	for output section statements we might be inserting.  Make error
	fatal on not finding insertion section.
	(lang_output_section_find): Rather than comparing
	output_section_statement.constraint against -1, test whether
	it is postive.
	(lang_output_section_statement_lookup_1): Likewise.
	(output_prev_sec_find, strip_excluded_output_sections): Likewise.
	(lang_record_phdrs): Likewise.
	* emultempl/elf32.em (output_rel_find): Likewise.
	* NEWS: Mention INSERT.
2008-09-07 04:02:31 +00:00
gdbadmin
61aed60ab9 *** empty log message *** 2008-09-07 00:00:33 +00:00
Alan Modra
6e27dbe836 daily update 2008-09-07 00:00:05 +00:00
Richard Sandiford
a79558d912 gas/
* config/tc-mips.h (DWARF2_FDE_RELOC_SIZE): Define.

gas/testsuite/
	* gas/mips/cfi-n64-1.s, gas/mips/cfi-n64-1.d: New test.
	* gas/mips/mips.exp: Run it.
2008-09-06 08:47:00 +00:00
Cary Coutant
ae6dce4daa 2008-09-05 Cary Coutant <ccoutant@google.com>
* symtab.cc (Symbol_table::add_from_dynobj): Fix typos in
	explicit instantiations.
2008-09-06 01:13:00 +00:00
Alan Modra
a0057aa056 daily update 2008-09-06 00:00:05 +00:00
gdbadmin
4b9e66ecf6 *** empty log message *** 2008-09-06 00:00:03 +00:00
Thiago Jung Bauermann
1f08b40933 * gdb.arch/altivec-abi.exp: Remove extra verbose call.
* gdb.arch/altivec-regs.exp: Likewise.
	* gdb.arch/vsx-regs.exp: Likewise.
2008-09-05 19:12:11 +00:00
Thiago Jung Bauermann
3099e1c48a * gdb.arch/ppc-fp.exp: New file.
* gdb.arch/ppc-fp.c: New file.
2008-09-05 19:00:41 +00:00
Daniel Jacobowitz
9e32b19ffe Fix last commit. 2008-09-05 17:55:07 +00:00
Daniel Jacobowitz
2d47a72cd5 * dwarf2.c: Change leading whitespace to tabs. 2008-09-05 17:48:08 +00:00
Paul Pluzhnikov
cc69bfc122 compile with gcc -fno-inline, lest gcc-4.3.1 optimizes the whole thing away. 2008-09-05 17:39:00 +00:00
Ulrich Weigand
87805e6373 * spu-tdep.c (spu_push_dummy_code): New function.
(spu_gdbarch_init): Install it.
2008-09-05 15:19:59 +00:00
Daniel Jacobowitz
d966045b7b * readelf.c (load_specific_debug_section): New function, from
load_debug_section.
	(load_debug_section): Use load_specific_debug_section.
	(display_debug_section): Use load_specific_debug_section.  Check for
	multiple sections with the same name.
2008-09-05 14:49:05 +00:00
Ulrich Weigand
0b1553bcdd * gdbarch.sh (gdbarch_dump): Use core_addr_to_string_nz
instead of paddr_nz.
	* gdbarch.c: Regenerate.

	* target.c (target_xfer_partial, debug_print_register): Use
	core_addr_to_string_nz instead of paddr_nz.
2008-09-05 12:57:16 +00:00
Ulrich Weigand
2454a0247b * rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
*before* calling gdbarch_init_osabi.
	(rs6000_aix_init_osabi): Disable displaced stepping.
2008-09-05 11:58:30 +00:00
Ulrich Weigand
b52323fa6f * target.c (update_current_target): Do not inherit to_open
or to_close.
	(pop_target): Call target_close on target_stack instead
	of current_target.
	(pop_all_targets_above): Likewise.
2008-09-05 11:50:57 +00:00
Ulrich Weigand
fead690896 * gnu-v3-abi.c (gnuv3_decode_method_ptr): New function.
(gnuv3_print_method_ptr): Use it.
	(gnuv3_method_ptr_to_value): Likewise.
2008-09-05 11:49:59 +00:00
Ulrich Weigand
60441ab9ed * nto-tdep.h (struct nto_target_ops): Add gdbarch parameter to
register_area callback function.
	* i386-nto-tdep.c (i386nto_register_area): Add gdbarch parameter.
	Use it instead of current_gdbarch.
	* nto-procfs.c (procfs_store_registers): Update call.
2008-09-05 11:46:46 +00:00
Ulrich Weigand
bb48619059 * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Use
regcache architecture instead of current_gdbarch.
2008-09-05 11:46:12 +00:00
Ulrich Weigand
9dacea90b2 * mep-tdep.c (struct mep_prologue): Add gdbarch member.
(check_for_saved): Use it instead of current_gdbarch.
	(is_arg_spill): Add gdbarch paramter.  Use it instead
	of current_gdbarch.
	(mep_analyze_prologue): Add gdbarch parameter.  Pass it
	to is_arg_spill and check_for_saved.
	(mep_skip_prologue, mep_analyze_frame_prologue): Update calls.
2008-09-05 11:45:37 +00:00
Ulrich Weigand
5db8bbe5fd * hppa-tdep.c (internalize_unwinds): Use objfile architecture
instead of current_gdbarch.
2008-09-05 11:45:01 +00:00
Ulrich Weigand
6ba3842523 * m68k-tdep.h (m68kbsd_fpreg_offset): Add gdbarch parameter.
* m68kbsd-tdep.c (m68kbsd_fpreg_offset): Add gdbarch paramter.
	Use it instead of current_gdbarch.
	(m68kbsd_supply_fpregset): Update call.
	* m68kbsd-nat.c (m68kbsd_supply_fpregset): Likewise.
	(m68kbsd_collect_fpregset): Likewise.
2008-09-05 11:44:24 +00:00
Ulrich Weigand
35488783c1 * cris-tdep.c (cris_version, cris_mode): Remove.
(crisv32_single_step_through_delay): Use tdep->cris_mode.
	(cris_breakpoint_from_pc): Likewise.
	(cris_frame_unwind_cache): Use tdep->cris_version.
	(crisv32_scan_prologue): Likewise.
	(cris_spec_reg_applicable): Add gdbarch argument.
	Use tdep->cris_version.
	(cris_register_size, cris_special_register_name): Update calls.
	(cris_special_register_name): Add gdbarch argument.
	(cris_register_name, crisv32_register_name): Update calls.
2008-09-05 11:43:49 +00:00
Ulrich Weigand
9dae60cc03 * m68hc11-tdep.c (gdb_print_insn_m68hc11): Use info->arch
instead of current_gdbarch.

	* sh64-tdep.c (gdb_print_insn_sh64): Remove.
	(sh64_gdbarch_init): Install print_insn_sh64 directly.
	* sh-tdep.c (gdb_print_insn_sh): Remove.
	(sh_gdbarch_init): Install print_insn_sh directly.

	* mips-tdep.c (gdb_print_insn_mips): Do not check mips_abi
	from current_gdbarch.
	(gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): New functions.
	(mips_gdbarch_init): Install them instead of gdb_print_insn_mips
	depending on mips_abi.
2008-09-05 11:43:10 +00:00