+2008-09-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * language.h (struct language_arch_info): New members
+ bool_type_default and bool_type_symbol.
+ (lang_bool_type): Remove prototype.
+ (LA_BOOL_TYPE): Remove macro.
+ (language_bool_type): Add prototype.
+ * language.c (lang_bool_type): Remove.
+ (language_bool_type): New function.
+
+ * value.h (value_in): Change return value to int.
+ * value.c (value_in): Return int instead of struct value *.
+
+ * eval.c (evaluate_subexp_standard): Call language_bool_type instead
+ of using LA_BOOL_TYPE. Update call to value_in.
+ * ada-lang.c (ada_evaluate_subexp): Call language_bool_type instead
+ of using LA_BOOL_TYPE or builtin_type_int for boolean values.
+
+ * language.c (unknown_language_arch_info): Set bool_type_default member
+ of struct language_arch_info.
+ * ada-lang.c (ada_language_arch_info): Set bool_type_symbol and
+ bool_type_default members of struct language_arch_info.
+ * c-lang.c (c_language_arch_info): Set bool_type_default member
+ of struct language_arch_info.
+ (cplus_language_arch_info): Set bool_type_symbol and bool_type_default
+ members of struct language_arch_info.
+ * f-lang.c (f_language_arch_info): Set bool_type_symbol and
+ bool_type_default members of struct language_arch_info.
+ * jv-lang.c (java_language_arch_info): Set bool_type_symbol and
+ bool_type_default members of struct language_arch_info.
+ * m2-lang.c (m2_language_arch_info): Set bool_type_symbol and
+ bool_type_default members of struct language_arch_info.
+ * p-lang.c (p_language_arch_info): Set bool_type_symbol and
+ bool_type_default members of struct language_arch_info.
+
+2008-09-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * jv-lang.c (enum java_primitive_types): New type.
+ (java_language_arch_info): New function.
+ (java_language): Use it instead of c_language_arch_info.
+
+2008-09-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * value.h (value_bitstring_subscript): New prototype.
+ * valarith.h (value_bitstring_subscript): New function.
+ (value_subscript): No longer handle TYPE_CODE_BITSTRING.
+ * eval.c (evaluate_subexp_standard): Call value_bitstring_subscript
+ instead of value_subscript to handle TYPE_CODE_BITSTRING.
+
+2008-09-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * expression.h (struct expression): New member GDBARCH.
+ * parse.c (parse_exp_in_context): Initialize it.
+ * parser-def.h (parse_gdbarch, parse_language): New macros.
+
+ * ada-exp.y (parse_type): New macro.
+ Replace builtin_type_ macros by using parse_type.
+ Replace current_language by parse_language.
+ * ada-lex.l (processInt): Replace current_gdbarch by parse_gdbarch.
+ Replace builtin_type_ macros.
+
+ * c-exp.y (parse_type): New macro.
+ Replace builtin_type_ macros by using parse_type.
+ (parse_number): Replace current_gdbarch by parse_gdbarch.
+ (yylex): Replace current_language by parse_language.
+
+ * f-exp.y (parse_type, parse_f_type): New macros.
+ Replace builtin_type_ macros by using parse_{f_,}type.
+ (parse_number): Replace current_gdbarch by parse_gdbarch.
+ (yylex): Replace current_language by parse_language.
+
+ * jv-exp.y (parse_type): New macro.
+ (parse_number): Replace builtin_type_ macros by using parse_type.
+
+ * m2-exp.y (parse_type, parse_m2_type): New macros.
+ Replace builtin_type_ macros by using parse_{m2_,}type.
+
+ * objc-exp.y (parse_type): New macro.
+ Replace builtin_type_ macros by using parse_type.
+ (parse_number): Replace current_gdbarch by parse_gdbarch.
+ (yylex): Replace current_language by parse_language.
+
+ * p-exp.y (parse_type): New macro.
+ Replace builtin_type_ macros by using parse_type.
+ (parse_number): Replace current_gdbarch by parse_gdbarch.
+ (yylex): Replace current_language by parse_language.
+
+2008-09-11 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * parser-defs.h (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE
+ and DATA_SYMBOL_TYPE arguments.
+ * parse.c (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE and
+ DATA_SYMBOL_TYPE arguments. Replace use of builtin_type_CORE_ADDR.
+ (write_dollar_variable): Update call.
+
+ * ada-exp.y (write_var_or_type): Update call.
+ * c-exp.y: Likewise.
+ * f-exp.y: Likewise.
+ * jv-exp.y: Likewise.
+ * m2-exp.y: Likewise.
+ * objc-exp.y: Likewise.
+ * p-exp.y: Likewise.
+
+2008-09-10 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_parent_type): Add handling of the case where
+ the _parent field is a pointer and/or has a parallel XVS type.
+ (ada_evaluate_subexp) [OP_VAR_VALUE]: When doing an
+ EVAL_AVOID_SIDE_EFFECTS evaluation of a tagged type, return
+ the type of the tag instead of doing forcing an EVAL_NORMAL
+ expression evaluation.
+
+2008-09-10 Paul N. Hilfinger <hilfinger@adacore.com>
+ Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (is_digits_suffix): New function.
+ (is_dot_digits_suffix): Remove.
+ (ada_lookup_symbol_list): Remove digits suffix from minimal symbols
+ before looking up in symbol table, and do not use wild matches on them.
+ (wild_match): Reimplement for speed and to allow matching of operator
+ symbols.
+ (is_valid_name_for_wild_match): Return zero for names that do not
+ follow the GNAT encoding.
+
+ (is_name_suffix): Fix typo in comment.
+ (to_record_with_fixed_variant_part): Ditto.
+
+2008-09-10 Pedro Alves <pedro@codesourcery.com>
+
+ * Makefile.in (gnu-nat.o): New rule.
+
+2008-09-10 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Use
+ archecture-neutral builtin_type_int32 instead of builtin_type_int.
+
+2008-09-10 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (ada_evaluate_subexp) [BINOP_ADD, BINOP_SUB]:
+ Add special handling for pointer types.
+
+2008-09-10 Pedro Alves <pedro@codesourcery.com>
+
+ * inf-ttrace.c (inf_ttrace_follow_fork): Declare locals at the
+ right scope level.
+ (inf_ttrace_resume, inf_ttrace_wait): Typos.
+
+2008-09-10 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ada-lang.c (ada_array_length): Use builtin_type_int32 instead
+ of builtin_type_int.
+ (ada_evaluate_subexp) [UNOP_IN_RANGE]: Use operand range type
+ instead of builtin_type_int.
+
+2008-09-09 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (normal_stop): Run hook-stop last.
+
+2008-09-09 Pedro Alves <pedro@codesourcery.com>
+
+ * gnu-nat.c (gnu_pid_to_exec_file): Delete.
+ (init_gnu_ops): Don't register it.
+
+2008-09-09 Pedro Alves <pedro@codesourcery.com>
+
+ * gnu-nat.c (gnu_attach): Push target before fetching the list of
+ threads.
+
+2008-09-08 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * valops.c (value_cast_structs): Return NULL for failure.
+ (value_cast): Handle NULL from value_cast_structs.
+ (value_fetch_lazy): Call check_typedef. Remove unused variable.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ * inferior.h (context_switch_to): Delete.
+ * infrun.c (context_switch): Don't save and load infrun state.
+ (context_switch_to): Delete.
+
+ * infcmd.c (proceed_thread_callback): Replace context_switch_to
+ calls by switch_to_thread calls.
+
+ * gdbthread.h (save_infrun_state, load_infrun_state): Delete.
+ * thread.c (main_thread_state, main_thread_executing): Delete.
+ (inferior_thread): Delete references to them.
+ (add_thread_silent): Fix case where we're adding a thread with the
+ same ptid as an exited thread. Remove references to
+ context-switching.
+ (load_infrun_state, save_infrun_state): Delete.
+ (thread_alive, is_thread_state, any_running, is_executing)
+ (set_executing): Remove the special handling for targets that
+ don't register any thread.
+ (restore_current_thread, thread_apply_all_command)
+ (do_captured_thread_select): Unconditionally call
+ switch_to_thread.
+
+ * mi/mi-main.c (mi_cmd_execute): Check for exited threads.
+ Call switch_to_thread instead of context_switch_to.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ Remove global continuations in favour of a per-thread
+ continuations.
+
+ * gdbthread.h (struct thread_info): Add comments around
+ continuations and intermediate_continuations.
+ (save_infrun_state, load_infrun_state): Delete continuations and
+ intermediate_continuations arguments.
+ * infrun.c (context_switch): Don't context-switch the continuations.
+ * thread.c (clear_thread_inferior_resources): Discard all
+ continuations of the thread we're clearing.
+ (save_infrun_state, load_infrun_state): Delete continuations and
+ intermediate_continuations arguments, and the code referencing
+ them.
+ * utils.c: Include "gdbthread.h".
+ (cmd_continuation, intermediate_continuation): Delete.
+ (add_continuation): Add thread_info* argument. Install the
+ continuation on it.
+ (restore_thread_cleanup): New.
+ (do_all_continuations_ptid, do_all_continuations_thread_callback):
+ New.
+ (do_all_continuations): Reimplement.
+ (discard_all_continuations_thread_callback,
+ discard_all_continuations_thread): New.
+ (discard_all_continuations): Reimplement.
+ (add_intermediate_continuation): Add thread_info* argument.
+ Install the continuation on it.
+ (do_all_intermediate_continuations_thread_callback)
+ (do_all_intermediate_continuations_thread): New.
+ (do_all_intermediate_continuations): Reimplement.
+ (discard_all_intermediate_continuations_thread_callback): New.
+ (discard_all_intermediate_continuations_thread): New.
+ (discard_all_intermediate_continuations): Reimplement.
+
+ * breakpoint.c (until_break_command): Install the continuation on
+ the current thread.
+
+ * defs.h (cmd_continuation, intermediate_continuation): Delete.
+ (struct thread_info): Forward declare.
+ (add_continuation, add_intermediate_continuation): Add
+ thread_info* argument.
+ (do_all_continuations_thread, discard_all_continuations_thread)
+ (do_all_intermediate_continuations_thread)
+ (discard_all_intermediate_continuations_thread): Declare.
+ * inf-loop.c (inferior_event_handler): In non-stop only run
+ continuations on the thread that stopped. In all-stop, run
+ continuations on all threads.
+ * infcmd.c (step_once, finish_command): Adjust.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ Remove the global stop_step in favour of a per-thread
+ stop_step.
+
+ * inferior.h (stop_step): Delete.
+
+ * gdbthread.h (struct thread_info): Add comments to stop_step.
+ (save_infrun_state, load_infrun_state): Remove stop_step argument.
+ * thread.c (load_infrun_state, save_infrun_state): Remove
+ stop_step argument, and references to it.
+
+ * infrun.c (clear_proceed_status): Clear stop_step.
+ (fetch_inferior_event): Adjust.
+ (context_switch): Don't context-switch stop_step.
+ (handle_inferior_event): Adjust.
+ (normal_stop): Adjust.
+ (save_inferior_status, restore_inferior_status): Adjust.
+
+ * infcmd.c (stop_step): Delete.
+ (step_1, step_1_continuation, step_once, until_next_command):
+ Adjust.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ Remove the global step_multi in favour of a per-thread
+ step_multi.
+
+ * inferior.h (step_multi): Delete.
+ * gdbthread.h (struct thread_info): Add comments around
+ step_multi.
+ (save_infrun_state, load_infrun_state): Remove step_multi
+ parameter.
+ * thread.c (load_infrun_state, save_infrun_state): Remove
+ step_multi argument, and references to it.
+ * infcmd.c (step_multi): Delete.
+ (step_1): Adjust.
+ (step_1_continuation, until_next_command): Adjust.
+ * infrun.c (fetch_inferior_event): Adjust.
+ (context_switch): Don't context-switch step_multi.
+ (print_stop_reason, normal_stop): Adjust.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ Remove the global stop_signal in favour of a per-thread
+ stop_signal.
+
+ * inferior.h (stop_signal): Delete.
+ * gdbthread.h (save_infrun_state, load_infrun_state): Remove
+ stop_signal argument.
+ * thread.c (load_infrun_state, save_infrun_state): Remove
+ stop_signal argument. Don't reference it.
+
+ * infcmd.c (stop_signal): Delete.
+ (program_info): Adjust.
+ * infrun.c (resume): Clear stop_signal.
+ (proceed): Adjust. Pass the last stop_signal to the thread we're
+ resuming.
+ (context_switch): Don't context-switch stop_signal.
+ (handle_inferior_event, keep_going): Adjust.
+ (save_inferior_status, restore_inferior_status): Adjust.
+
+ * fbsd-nat.c: Include "gdbthread.h".
+ (find_signalled_thread, find_stop_signal): New.
+ (fbsd_make_corefile_notes): Use it.
+ * fork-child.c (startup_inferior): Adjust.
+
+ * linux-nat.c (get_pending_status): Adjust.
+ (linux_nat_do_thread_registers): Adjust.
+ (find_signalled_thread, find_stop_signal): New.
+ (linux_nat_do_thread_registers): Add stop_signal parameter.
+ (struct linux_nat_corefile_thread_data): Add stop_signal member.
+ (linux_nat_corefile_thread_callback): Pass stop_signal.
+ (linux_nat_do_registers): Delete.
+ (linux_nat_make_corefile_notes): Use find_stop_signal. Assume
+ there's always a thread.
+
+ * procfs.c (find_signalled_thread, find_stop_signal): New.
+ (find_stop_signal): New.
+ (procfs_do_thread_registers): Add stop_signal parameter.
+ (struct procfs_corefile_thread_data): Add stop_signal member.
+ (procfs_corefile_thread_callback): Pass args->stop_signal.
+ (procfs_make_note_section): Find the last stop_signal.
+
+ * solib-irix.c: Include gdbthread.h.
+ (irix_solib_create_inferior_hook): Adjust.
+ * solib-osf.c: Include gdbthread.h.
+ (osf_solib_create_inferior_hook): Adjust.
+ * solib-sunos.c: Include gdbthread.h.
+ (sunos_solib_create_inferior_hook): Adjust.
+ * solib-svr4.c: Include gdbthread.h.
+ (svr4_solib_create_inferior_hook): Adjust.
+
+ * win32-nat.c (do_initial_win32_stuff): Adjust.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ * gdbthread.h (struct thread_info): Add comments around
+ proceed_to_finish.
+ (save_infrun_state, load_infrun_state): Remove proceed_to_finish
+ argument.
+ * thread.c (load_infrun_state, save_infrun_state): Delete
+ proceed_to_finish argument and references to it.
+
+ * infcall.c (call_function_by_hand): Adjust.
+ * infcmd.c (finish_command): Adjust.
+ * infrun.c (proceed_to_finish): Delete.
+ (clear_proceed_status): Adjust.
+ (context_switch): Don't context-switch proceed_to_finish.
+ (normal_stop, save_inferior_status, restore_inferior_status):
+ Adjust.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ * inferior.h (stop_bpstat): Delete.
+
+ * breakpoint.h (bpstat_do_actions): Remove bpstat* argument.
+
+ * breakpoint.c (bpstat_do_actions): Rename to ...
+ (bpstat_do_actions_1): ... this. Make static. Change return type
+ to int. Return true if a breakpoint proceeded.
+ (bpstat_do_actions): New, as wrapper around bpstat_do_actions_1.
+ (delete_breakpoint): Don't reference the global stop_bpstat; it's
+ gone.
+
+ * gdbthread.h (struct thread_info): Add stop_bpstat.
+ (save_infrun_state, load_infrun_state): Remove stop_bpstat
+ argument.
+ * thread.c (load_infrun_state, save_infrun_state): Remove
+ stop_bpstat argument, and the code referencing it.
+
+ * infcall.c: Include "gdbthread.h".
+ (call_function_by_hand): Adjust.
+ * exceptions.c: Include "gdbthread.h".
+ (throw_exception): Adjust.
+ * infcmd.c (stop_bpstat): Delete.
+ (continue_command): In all-stop, set the ignore count on the
+ thread that reported the stop. In non-stop, set it on the current
+ thread.
+ (finish_command_continuation): Adjust.
+ (program_info): Adjust.
+ * infrun.c (clear_proceed_status): Adjust.
+ (context_switch): Don't context-switch stop_bpstat.
+ (handle_inferior_event): Adjust.
+ (normal_stop): Adjust.
+ (save_inferior_status, restore_inferior_status): Adjust.
+
+ * inf-loop.c (inferior_event_handler): Remove parameter to
+ bpstat_do_actions call.
+ * top.c (command_loop): Remove parameter to bpstat_do_actions
+ call. Call it unconditionally.
+ * event-top.c (command_handler): Ditto.
+ * python/python.c (execute_gdb_command): Ditto.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ * inferior.h (step_over_calls): Delete.
+
+ * gdbthread.h (save_infrun_state, load_infrun_state): Remove
+ step_over_calls argument.
+ * thread.c (save_infrun_state, load_infrun_state): Remove
+ step_over_calls argument. Adjust.
+
+ * infcmd.c (step_over_calls): Delete.
+ (step_1): Adjust.
+ * infrun.c (clear_proceed_status): Adjust.
+ (context_switch): Don't context-switch step_over_calls.
+ (handle_inferior_event, save_inferior_status)
+ (restore_inferior_status): Adjust.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ 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 Pedro Alves <pedro@codesourcery.com>
+
+ * bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main
+ thread.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * spu-linux-nat.c (spu_child_post_startup_inferior)
+ (spu_child_post_attach): Don't add the main thread here.
+
+2008-09-08 Pedro Alves <pedro@codesourcery.com>
+
+ 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Pedro Alves <pedro@codesourcery.com>
+
+ * 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 Jerome Guitton <guitton@adacore.com>
+
+ * rs6000-tdep.c (rs6000_fetch_instruction)
+ (rs6000_skip_stack_check): New functions.
+ (skip_prologue): Skip stack check sequence.
+
+2008-09-08 David Daney <ddaney@avtrex.com>
+
+ * dummy-frame.h (frame.h): Include it.
+ (struct frame_id): Remove declaration.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c (spu_push_dummy_code): New function.
+ (spu_gdbarch_init): Install it.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping
+ *before* calling gdbarch_init_osabi.
+ (rs6000_aix_init_osabi): Disable displaced stepping.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Use
+ regcache architecture instead of current_gdbarch.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * hppa-tdep.c (internalize_unwinds): Use objfile architecture
+ instead of current_gdbarch.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * gdbarch.sh (addr_bits_remove): Change type to 'm'.
+ (smash_text_address): Likewise.
+ * gdbarch.c, gdbarch.h: Regenerate.
+
+ * arch-utils.c (core_addr_identity): Add gdbarch parameter.
+ * arch-utils.h (core_addr_identity): Likewise.
+ * arm-tdep.c (arm_addr_bits_remove): Likewise.
+ (arm_smash_text_address): Likewise.
+ * hppa-tdep.c (hppa_smash_text_address): Likewise.
+ * m88k-tdep.c (m88k_addr_bits_remove): Likewise.
+ * s390-tdep.c (s390_addr_bits_remove): Likewise.
+
+ * mips-tdep.c (mips_addr_bits_remove): Add gdbarch parameter.
+ Use it instead of current_gdbarch.
+
+ * arm-tdep.c (arm_prologue_prev_register, arm_unwind_pc,
+ arm_dwarf2_prev_register): Update calls.
+ * m88k-tdep.c (m88k_unwind_pc): Update call.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * dwarf2expr.h (dwarf2_read_address): Add gdbarch argument.
+ * dwarf2expr.c (dwarf2_read_address): Add gdbarch argument.
+ Call gdbarch_integer_to_address directly instead of converting
+ to value and back. Update comment.
+ (execute_stack_op): Update call site.
+ * dwarf2loc.c (find_location_expression): Likewise.
+ (locexpr_describe_location): Update
+
+ * dwarf2expr.h (struct dwarf_expr_context): Add gdbarch member.
+ * dwarf2-frame.c (execute_stack_op): Initialize ctx->gdbarch.
+ * dwarf2loc. (dwarf2_evaluate_loc_desc): Likewise.
+ (dwarf2_loc_desc_needs_frame): Likewise.
+
+2008-09-05 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * breakpoint.h (struct bp_location): Change type of section
+ member to "struct obj_section *".
+ * tracepoint.h (struct tracepoint): Likewise.
+ * symtab.h (struct general_symbol_info): Replace bfd_section
+ member with obj_section.
+ (struct symtab_and_line): Change type of section member to
+ "struct obj_section *".
+ (SYMBOL_BFD_SECTION): Remove macro, replace by ...
+ (SYMBOL_OBJ_SECTION): ... this.
+
+ * minsym.c (prim_record_minimal_symbol_and_info): Record symbol
+ section as obj_section instead of bfd_section.
+
+ * ada-lang.c (ada_decode_symbol): Use gsymbol->obj_section
+ directly instead of looking of obj_section from bfd_section.
+
+ * objfiles.h (find_pc_sect_section): Remove.
+ * objfiles.c (find_pc_sect_section): Remove.
+ (find_pc_section): Inline find_pc_sect_section code.
+
+ * symfile.h (find_pc_overlay): Return struct obj_section *.
+ (find_pc_mapped_section): Likewise.
+ (section_is_overlay, section_is_mapped): Change type of section
+ argument to struct obj_section *.
+ (pc_in_mapped_range, pc_in_unmapped_range): Likewise.
+ (overlay_mapped_address, overlay_unmapped_address): Likewise.
+ (symbol_overlayed_address): Likewise.
+ * symtab.h (symbol_overlayed_address): Likewise.
+ * symfile.c (overlay_is_mapped): Remove.
+ (section_is_mapped): Inline overlay_is_mapped code. Update.
+ (overlay_invalidate_all): Update.
+ (section_is_overlay): Change section argument to type
+ "struct obj_section *". Use bfd_ methods.
+ (pc_in_unmapped_range): Likewise. Handle relocated sections.
+ (pc_in_mapped_range): Likewise. Handle relocated sections.
+ (sections_overlap): Likewise.
+ (overlay_unmapped_address): Likewise.
+ (overlay_mapped_address): Likewise.
+ (symbol_overlayed_address): Likewise.
+ (find_pc_overlay): Return struct obj_section *.
+ (find_pc_mapped_section): Likewise.
+ (list_overlays_command): Update.
+ (map_overlay_command, unmap_overlay_command): Update.
+ (simple_overlay_update): Update.
+
+ * block.h (blockvector_for_pc_sect): Change section argument
+ to type "struct obj_section *".
+ (block_for_pc_sect): Likewise.
+ * block.c (blockvector_for_pc_sect): Change section argument
+ to type "struct obj_section *".
+ (block_for_pc_sect): Likewise.
+ * symtab.h (find_pc_sect_function, find_pc_sect_psymtab,
+ find_pc_sect_symtab, find_pc_sect_psymbol, find_pc_sect_line,
+ lookup_minimal_symbol_by_pc_section, find_function_start_pc): Likewise.
+ (matching_bfd_sections): Rename to ...
+ (matching_obj_sections): ... this. Update argument types.
+ * blockframe.c (find_pc_sect_function): Likewise.
+ * breakpoint.c (describe_other_breakpoints): Likewise.
+ (breakpoint_has_pc, check_duplicates_for): Likewise.
+ * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise.
+ (lookup_minimal_symbol_by_pc_section): Likewise.
+ * symtab.c (find_pc_sect_psymtab_closer): Likewise.
+ (find_pc_sect_psymtab, find_pc_sect_psymbol, find_pc_sect_symtab,
+ find_pc_sect_line, find_function_start_pc): Likewise.
+ (matching_bfd_sections): Rename to ...
+ (matching_obj_sections): ... this. Update argument types.
+
+ * blockframe.c (find_pc_partial_function): Update to section
+ type changes. No longer call find_pc_sect_section.
+ (cache_pc_function_section): Change to type "struct obj_section *".
+ * breakpoint.c (resolve_sal_pc): Update to section type changes.
+ * exec.c (xfer_memory): Likewise.
+ * findvar.c (read_var_value): Likewise.
+ * infcmd.c (jump_command): Likewise.
+ * linespec.c (minsym_found): Likewise.
+ * maint.c (maintenance_translate_address): Likewise.
+ * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise.
+ (lookup_solib_trampoline_symbol_by_pc): Likewise.
+ * parse.c (write_exp_msymbol): Likewise.
+ * printcmd.c (build_address_symbolic): Likewise.
+ (address_info, sym_info): Likewise.
+ * symmisc.c (dump_msymbols, print_symbol): Likewise.
+ * symtab.c (fixup_section): Likewise.
+ (fixup_symbol_section, fixup_psymbol_section): Likewise.
+ (find_pc_line, find_function_start_sal): Likewise.
+ * target.c (memory_xfer_partial): Likewise.
+ * hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Likewise.
+ * spu-tdep.c (spu_overlay_update): Likewise.
+
+2008-09-04 Doug Evans <dje@google.com>
+
+ * defs.h (plongest,pulongest): Renamed from paddr_u,paddr_d.
+ Change argument of pulongest from CORE_ADDR to ULONGEST.
+ All callers updated.
+ * utils.c (plongest): Renamed from paddr_d.
+ (pulongest): Renamed from paddr_u, change arg type to ULONGEST.
+ * remote-mips.c (send_srec): Use paddr_nz instead of paddr_u in
+ `CORE_ADDR addr' arg of error message.
+
+2008-09-03 Angela Marie Thomas <angela@releasedominatrix.com>
+
+ * ser-tcp.c (ser_tcp_send_break): New function.
+ (_initialize_ser_tcp): Use ser_tcp_send_break.
+ * ser-tcp.h (ser_tcp_send_break): New prototype.
+
+2008-09-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c (spu_push_dummy_call): Update all stack pointer slots
+ when allocating stack frame for inferior call.
+
+2008-09-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c (spu_frame_unwind_cache): Do not attempt to unwind
+ SP or return address if we failed to find a valid frame.
+
+2008-09-03 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * breakpoint.c (breakpoint_init_inferior): Mark as not inserted only
+ non-permanent breakpoints.
+ (bpstat_stop_status): Change enable_state to bp_disabled only for
+ non-permanent breakpoints.
+ (bp_loc_is_permanent): New function.
+ (create_breakpoint): Check if the location points to a permanent
+ breakpoint and if it does, make breakpoint permanent.
+ (update_breakpoint_locations): Make sure new locations of permanent
+ breakpoints are properly initialized.
+ * i386-tdep.c (i386_skip_permanent_breakpoint): New function.
+ (i386_gdbarch_init): Set gdbarch_skip_permanent_breakpoint.
+
+2008-09-02 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.c (insert_breakpoints, update_global_location_list):
+ Check breakpoints_always_inserted_mode instead of
+ always_inserted_mode directly.
+
+2008-09-02 Andreas Schwab <schwab@suse.de>
+
+ * ia64-tdep.c (ia64_get_dyn_info_list): Use obj_section_addr.
+
+2008-09-01 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Stay compatible after the GCC PR fortran/29635 fix.
+ * dwarf2read.c (process_die <DW_TAG_imported_module>)
+ (process_die <DW_TAG_imported_module>): Do not assert anything about
+ these unsupported tags.
+
+2008-08-29 Tom Tromey <tromey@redhat.com>
+
+ * maint.c (_initialize_maint_cmds): Fix typo.
+
+2008-08-29 Tom Tromey <tromey@redhat.com>
+
+ * dwarf2read.c (dwarf2_build_psymtabs_hard): Copy dirname on
+ obstack.
+
2008-08-27 Ulrich Weigand <uweigand@de.ibm.com>
* remote.c: Include "gdb_stat.h".