X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2FChangeLog;h=5a486af2478d5a6bb79cbb287671b0d298e07b2a;hb=fde6c81990c82b00f737cec2d781458de2ac84e1;hp=6bf0ea7646e90b01a371bff93b4550f8bc507fab;hpb=9dae60cc0317e3513440a19431976e25f768427d;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6bf0ea7646..5a486af247 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,881 @@ +2008-09-11 Ulrich Weigand + + * gdbtypes.h (builtin_type_void): Remove macro, add declaration. + (builtin_type_f_void): Remove macro. + * gdbtypes.c (builtin_type_void): New global variable. + (_initialize_gdbtypes): Initialize it. + + * gnu-v3-abi.c (build_gdb_vtable_type): Do not call + lookup_pointer_type or lookup_function_type on builtin_type_void. + * printcmd.c (set_next_address): Likewise. + * objc-lang.c (value_nsstring): Likewise. + * mt-tdep.c (mt_copro_register_type): Likewise. + * xtensa-tdep.c (xtensa_register_type): Likewise. + + * symfile.c (syms_from_objfile): Remove special handling + of builtin_type_void and builtin_type_char. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_standard): Use exp->gdbarch types instead + of builtin_type_ macros when handling OP_OBJC_ operations. + * objc-lang.c (print_object_command): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-valprint.c: Include "objfiles.h". + (ada_val_print_1): Use the gdbarch associated with the objfile whether + a System.Address type is defined to retrieve the proper pointer type + to use to print it. + +2008-09-11 Ulrich Weigand + + * ada-lang.c (value_pos_atr): Add TYPE argument. Use it as + result type instead of builtin_type_int. + (value_subscript_packed): Use pos_atr instead of value_pos_atr. + (ada_value_subscript): Update call to value_pos_atr. + (ada_value_ptr_subscript): Likewise. + (ada_evaluate_subexp): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-lang.c (cast_to_fixed): Do not cast to builtin_type_double. + (cast_from_fixed_to_double): Rename to ... + (cast_from_fixed): ... this. Add TYPE parameter. Use it instead + of builtin_type_double. + (ada_value_cast): Use cast_from_fixed instead of casting result + of cast_from_fixed_to_double. + (ada_evaluate_subexp): Update calls to cast_from_fixed_to_double. + +2008-09-11 Ulrich Weigand + + * valops.c (value_ind): No longer allow dereferencing an + integer type. + * eval.c (evaluate_subexp_standard): Handle deferencing an + integer type here. + * ada-lang.c (ada_evaluate_subexp): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-valprint.c (ada_val_print_1): When implicitly dereferencing + a reference type, pass the reference type directly to unpack_pointer. + * c-valprint.c (c_val_print): Likewise. + * f-valprint.c (f_val_print): Likewise. + * m2-valprint.c (print_variable_at_address, m2_val_print): Likewise. + * p-valprint.c (pascal_val_print): Likewise. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_standard): Use builtin_type_int8 + to construct the EVAL_SKIP dummy return value. + * ada-lang.c (ada_evaluate_subexp): Likewise. + * jv-lang.c (evaluate_subexp_java): Likewise. + * m2-lang.c (evaluate_subexp_modula2): Likewise. + * scm-lang.c (evaluate_exp): Likewise. + +2008-09-11 Ulrich Weigand + + * value.h (coerce_enum, coerce_number): Remove prototypes. + * value.c (coerce_enum, coerce_number): Remove. + * valarith.c (value_x_binop): Do not call coerce_enum. + (value_x_unop): Likewise. + (value_logical_not): Call coerce_array instead of coerce_number. + +2008-09-11 Ulrich Weigand + + * ax-gdb.c: Include "language.h". + (gen_frame_args_address): Add GDBARCH parameter; use it + instead of current_gdbarch. + (gen_frame_locals_address): Likewise. + (gen_var_ref): Add GDBARCH parameter. Update calls to + gen_frame_args_address and gen_frame_locals_address. Use + pointer type from gdbarch. + (gen_usual_unary): Add EXP parameter. Use integer type + from exp->gdbarch. + (gen_usual_arithmetic): Likewise. + (gen_integral_promotions): Likewise. + (gen_add, gen_sub): Remove. + (gen_ptradd, gen_ptrsub, gen_ptrdiff): New functions. + (gen_logical_not): Use passed-in boolean result type + instead of builtin_type_int. + (gen_complement): Do not call gen_usual_unary or + gen_integral_promotions. + (gen_struct_ref): Call require_rvalue instead of gen_usual_unary. + (gen_repeat): Add EXP parameter. Update call to gen_expr. + Use builtin_type_int32 as internal range type. + (gen_sizeof): Add EXP and SIZE_TYPE parameters. Use SIZE_TYPE + as result type. Update call to gen_expr. + (gen_expr): Add EXP parameter. Update calls to gen_expr, + gen_repeat, gen_var_ref, gen_usual_unary, gen_usual_arithmetic, + and gen_integral_promotions. Call gen_ptradd, gen_ptrsub, + gen_ptrdiff, or gen_binop instead of gen_add or gen_sub. + Use exp->gdbarch instead of current_gdbarch. + Call language_bool_type to determine result type of UNOP_LOGICAL_NOT. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_standard): Add calls to binop_promote + and unop_promote before calling value_binop et. al. + * ada-lang.c (ada_evaluate_subexp): Add calls to binop_promote + and unop_promote before calling value_binop et. al. + + * valarith.c (value_binop): Do not call binop_promote or unop_promote. + (value_pos): Do not call unop_promote. + (value_neg, value_complement): Likewise. + +2008-09-11 Ulrich Weigand + + * value.h (unop_promote, binop_promote): Add prototypes. + * eval.c (unop_promote, binop_promote): New functions. + * valarith.c (unop_result_type, binop_result_type): Remove. + (value_binop): Call binop_promote or unop_promote. + Inline remaining parts of binop_result_type. Remove special + code to truncate integer values for unsigned operations. + (value_pos): Call unop_promote. Inline remaining parts of + unop_result_type. + (value_neg, value_complement): Likewise. + +2008-09-11 Ulrich Weigand + + * value.h (value_add, value_sub): Remove. + (value_ptradd, value_ptrsub, value_ptrdiff): Add prototypes. + * valarith.c (value_add, value_sub): Remove. + (value_ptradd, value_ptrsub, value_ptrdiff): New functions. + (find_size_for_pointer_math): Add assertion. Update comment. + (value_binop): Update comment. + + * eval.c (ptrmath_type_p): New function. + (evaluate_subexp_standard): Replace value_add and value_sub + by value_ptradd, value_ptrsub, value_ptrdiff or value_binop. + Use builtin_type_uint8 instead of builtin_type_char to hold + the increment for BINOP_{PRE,POST}{IN,DE}CREMENT operations. + * valarith.c (value_subscript): Replace value_add by + value_ptradd. Replace value_sub by value_binop. + * ada-lang.c (ada_value_ptr_subscript): Likewise. + (ada_tag_name_2): Replace value_add by value_ptradd. + (ada_evaluate_subexp): Replace value_add and value_sub by + value_binop. + * m2-lang.c (evaluate_subexp_modula2): Replace value_add + by value_ptradd. + * gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise. + * gnu-v3-abi.c (gnuv3_method_ptr_to_value): Likewise. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_for_sizeof): Use builtin_int type of + the expression architecture instead of builtin_type_int as the + sizeof return type. + +2008-09-11 Ulrich Weigand + + * expression.h (enum exp_opcode): Document OP_COMPLEX to take + a type parameter as expression element. + * eval.c (evaluate_subexp_standard) [OP_COMPLEX]: Retrieve result + type as expression element. + * f-exp.y: Pass in type when buildin OP_COMPLEX expression. + * parse.c (operator_length_standard): Update length of OP_COMPLEX. + +2008-09-11 Ulrich Weigand + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + Joel Brobecker + + * 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 + + * Makefile.in (gnu-nat.o): New rule. + +2008-09-10 Joel Brobecker + + * 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 + + * ada-lang.c (ada_evaluate_subexp) [BINOP_ADD, BINOP_SUB]: + Add special handling for pointer types. + +2008-09-10 Pedro Alves + + * 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 + + * 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 + + * infrun.c (normal_stop): Run hook-stop last. + +2008-09-09 Pedro Alves + + * gnu-nat.c (gnu_pid_to_exec_file): Delete. + (init_gnu_ops): Don't register it. + +2008-09-09 Pedro Alves + + * gnu-nat.c (gnu_attach): Push target before fetching the list of + threads. + +2008-09-08 Daniel Jacobowitz + + * 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 + + * 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 + + 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 + + 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 + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + 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 + + * bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main + thread. + +2008-09-08 Pedro Alves + + * 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 + + * 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 + + 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 + + * 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 + + * 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 + + * inf-ttrace.c: Include + (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 + + * 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 + + * 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 + + * 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 + + * 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 + + * rs6000-tdep.c (rs6000_fetch_instruction) + (rs6000_skip_stack_check): New functions. + (skip_prologue): Skip stack check sequence. + +2008-09-08 David Daney + + * dummy-frame.h (frame.h): Include it. + (struct frame_id): Remove declaration. + +2008-09-05 Ulrich Weigand + + * spu-tdep.c (spu_push_dummy_code): New function. + (spu_gdbarch_init): Install it. + +2008-09-05 Ulrich Weigand + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Use + regcache architecture instead of current_gdbarch. + +2008-09-05 Ulrich Weigand + + * 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 + + * hppa-tdep.c (internalize_unwinds): Use objfile architecture + instead of current_gdbarch. + +2008-09-05 Ulrich Weigand + + * 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 + + * 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 * m68hc11-tdep.c (gdb_print_insn_m68hc11): Use info->arch