-2011-09-15 Kevin Pouget <kevin.pouget@st.com>
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Entry values NEWS entries, DWARF disassembly support.
+ * NEWS: New entry values entry.
+ (set print entry-values, show print entry-values)
+ (set debug entry-values, show debug entry-values): New entries.
+ * dwarf2loc.c (disassemble_dwarf_expression): New parameters start and
+ indent. Remove variable start. Move header printing out. Respect
+ INDENT. Support DW_OP_GNU_entry_value.
+ (locexpr_describe_location_1): Move the header printing here, extend
+ the disassemble_dwarf_expression passed parameters.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Display @entry parameter values even for references.
+ * ada-valprint.c (ada_val_print_1) <TYPE_CODE_REF>: Try also
+ coerce_ref_if_computed.
+ * c-valprint.c (c_val_print) <TYPE_CODE_REF>: Likewise.
+ * dwarf2expr.c (dwarf_block_to_dwarf_reg_deref): New function.
+ (execute_stack_op) <DW_OP_GNU_entry_value>: Add -1 deref_size to the
+ existing push_dwarf_reg_entry_value call. Add new detection calling
+ dwarf_block_to_dwarf_reg_deref. Update the error message.
+ (ctx_no_push_dwarf_reg_entry_value): New parameter deref_size.
+ * dwarf2expr.h
+ (struct dwarf_expr_context_funcs) <push_dwarf_reg_entry_value>: Add new
+ parameter deref_size, describe it in the comment.
+ (ctx_no_push_dwarf_reg_entry_value): Add new parameter deref_size.
+ (dwarf_block_to_dwarf_reg_deref): New declaration.
+ * dwarf2loc.c (dwarf_entry_parameter_to_value): Add new parameter
+ deref_size, describe it in the function comment. New variables
+ data_src and size, fetch the alternative block accoring to DEREF_SIZE.
+ (dwarf_expr_push_dwarf_reg_entry_value): Add new parameter deref_size,
+ describe it in the function comment. Fetch the alternative block
+ accoring to DEREF_SIZE.
+ (entry_data_value_coerce_ref, entry_data_value_copy_closure)
+ (entry_data_value_free_closure, entry_data_value_funcs): New.
+ (value_of_dwarf_reg_entry): New variables checked_type, target_type,
+ outer_val, target_val, val and addr. Try to fetch and create also
+ referenced value content.
+ (pieced_value_funcs): NULL value for coerce_ref.
+ (needs_dwarf_reg_entry_value): Add new parameter deref_size.
+ * f-valprint.c (f_val_print) <TYPE_CODE_REF>: Try also
+ coerce_ref_if_computed.
+ * opencl-lang.c (opencl_value_funcs): NULL value for coerce_ref.
+ * p-valprint.c (pascal_val_print) <TYPE_CODE_REF>: Likewise.
+ * stack.c (read_frame_arg): Compare also dereferenced values.
+ * value.c (value_computed_funcs): Make the parameter v const, use
+ value_lval_const for it.
+ (value_lval_const, coerce_ref_if_computed): New function.
+ (coerce_ref): New variable retval. Call also coerce_ref_if_computed.
+ * value.h (struct lval_funcs): New field coerce_ref.
+ (value_computed_funcs): Make the parameter v const.
+ (value_lval_const, coerce_ref_if_computed): New declarations.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Support @entry in input expressions.
+ * c-exp.y (ENTRY, unknown_cpp_name): New.
+ (exp: UNKNOWN_CPP_NAME): Change to `exp: unknown_cpp_name'.
+ (unknown_cpp_name: UNKNOWN_CPP_NAME, unknown_cpp_name: ENTRY)
+ (variable: name_not_typename '@' ENTRY, name: ENTRY)
+ (name_not_typename: ENTRY): New.
+ (yylex): Recognize ENTRY.
+ * eval.c (evaluate_subexp_standard): Support also OP_VAR_ENTRY_VALUE.
+ * expprint.c (print_subexp_standard, dump_subexp_body_standard):
+ Likewise.
+ * parse.c (operator_length_standard): Likewise.
+ * std-operator.def: New operator OP_VAR_ENTRY_VALUE.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Display referenced values in backtraces.
+ * printcmd.c (print_variable_and_value): Set OPTS.DEREF_REF to 1.
+ * stack.c (print_frame_arg): Likewise.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Make some lval_funcs methods to default on NULL.
+ * valops.c (value_fetch_lazy): Check if lval_computed read method is
+ NULL.
+ (value_assign): Check if lval_computed write method is NULL.
+ * value.h (struct lval_funcs): Comment NULL values for read and write
+ methods.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Display @entry parameter values (without references).
+ * dwarf2expr.c (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
+ New functions.
+ * dwarf2expr.h (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
+ New declarations.
+ * dwarf2loc.c (dwarf2_find_location_expression): Support location list
+ entry record.
+ (dwarf_entry_parameter_to_value, value_of_dwarf_reg_entry)
+ (value_of_dwarf_block_entry, locexpr_read_variable_at_entry): New
+ functions.
+ (dwarf2_locexpr_funcs): Install locexpr_read_variable_at_entry.
+ (loclist_read_variable_at_entry): New function.
+ (dwarf2_loclist_funcs): Install loclist_read_variable_at_entry.
+ * dwarf2read.c (read_call_site_scope): Support also DW_OP_fbreg in
+ DW_AT_location, call dwarf_block_to_sp_offset for it.
+ * frame.h (print_entry_values_no, print_entry_values_only)
+ (print_entry_values_preferred, print_entry_values_if_needed)
+ (print_entry_values_both, print_entry_values_compact)
+ (print_entry_values_default, print_entry_values): New declarations.
+ (struct frame_arg): New field entry_kind.
+ (read_frame_arg): New parameter entryargp.
+ * mi/mi-cmd-stack.c (list_arg_or_local): New gdb_assert for
+ arg->entry_kind. Optionally print the `@entry' suffix.
+ (list_args_or_locals): New variable entryarg, initialize it.
+ Initialize also entry_kind of arg and entryarg. Conditionalize
+ list_arg_or_local for arg, add list_arg_or_local for entryarg. Call
+ xfree for entryarg.error.
+ * stack.c (print_entry_values_no, print_entry_values_only)
+ (print_entry_values_preferred, print_entry_values_if_needed)
+ (print_entry_values_both, print_entry_values_compact)
+ (print_entry_values_default, print_entry_values_choices)
+ (print_entry_values): New variables.
+ (print_frame_arg): New gdb_assert for arg->entry_kind. Optionally
+ print the `@entry' suffix, possibly in combination for
+ print_entry_values_compact.
+ (read_frame_arg): New parameter entryargp, new variables entryval,
+ entryval_error and val_equal. Read in also entryargp, respect
+ print_entry_values, compare the values using val_equal, fill in also
+ argp->entry_kind (together with entryargp->entry_kind).
+ (print_frame_args): New variable entryarg, initialize it.
+ Conditionalize print_frame_arg for arg, add print_frame_arg for
+ entryarg. Call xfree for entryarg.error.
+ (_initialize_stack): Call add_setshow_enum_cmd for `entry-values'.
+ * symtab.h (struct symbol_computed_ops): New field
+ read_variable_at_entry.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code reshuffle.
+ * frame.h (struct frame_arg): New definition.
+ (read_frame_arg): New declaration.
+ * mi/mi-cmd-stack.c (list_arg_or_local): New functiom from ...
+ (list_args_or_locals): ... the code here. New variable arg, call
+ read_frame_arg and list_arg_or_local with it. Unify the
+ PRINT_SIMPLE_VALUES and PRINT_ALL_VALUES cases. Call xfree for
+ arg.error.
+ * stack.c (print_frame_arg): New functiom from the code of
+ print_frame_args.
+ (read_frame_arg): New function.
+ (print_frame_args): Remove variable val. New variable arg, call
+ read_frame_arg and print_frame_arg with it. Call xfree for arg.error.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Protect entry values against self tail calls.
+ * dwarf2loc.c (VEC (CORE_ADDR), func_verify_no_selftailcall): New.
+ (dwarf_expr_dwarf_reg_entry_value): Call func_verify_no_selftailcall.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Recognize virtual tail call frames.
+ * Makefile.in (SFILES): Add dwarf2-frame-tailcall.c.
+ (HFILES_NO_SRCDIR): Add dwarf2-frame-tailcall.h.
+ (COMMON_OBS): Add dwarf2-frame-tailcall.o.
+ * dwarf2-frame-tailcall.c: New file.
+ * dwarf2-frame-tailcall.h: New file.
+ * dwarf2-frame.c: Include dwarf2-frame-tailcall.h.
+ (execute_cfa_program): New function comment. Return INSN_PTR. Reset
+ REGS.PREV only after CIE execution.
+ (struct dwarf2_frame_cache): New field tailcall_cache.
+ (dwarf2_frame_cache): New variables entry_pc, entry_cfa_sp_offset,
+ entry_cfa_sp_offset_p and instr. Execute FDE instructions in two
+ parts, try to find entry_cfa_sp_offset. Call
+ dwarf2_tailcall_sniffer_first.
+ (dwarf2_frame_prev_register): Call dwarf2_tailcall_prev_register_first
+ when appropriate.
+ (dwarf2_frame_dealloc_cache): New function.
+ (dwarf2_frame_sniffer): Preinitialize cache by dwarf2_frame_cache.
+ (dwarf2_frame_unwind): Install dwarf2_frame_dealloc_cache.
+ (dwarf2_signal_frame_unwind): Do not install dwarf2_frame_dealloc_cache.
+ (dwarf2_append_unwinders): Add dwarf2_tailcall_frame_unwind.
+ (dwarf2_frame_cfa): Support also dwarf2_tailcall_frame_unwind.
+ * dwarf2loc.c (func_addr_to_tail_call_list)
+ (tailcall_dump, call_sitep, VEC (call_sitep), chain_candidate)
+ (call_site_find_chain_1, call_site_find_chain): New.
+ * dwarf2loc.h (struct call_site_chain): New.
+ (call_site_find_chain): New declaration.
+ * frame.c (get_frame_address_in_block): Support also TAILCALL_FRAME.
+ * frame.h (enum frame_type): New entry TAILCALL_FRAME.
+ * python/py-frame.c (gdbpy_initialize_frames): Add TAILCALL_FRAME.
+ * stack.c (frame_info): Support also TAILCALL_FRAME.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Tail call sites reader implementation.
+ * dwarf2read.c (read_call_site_scope): Recognize DW_AT_GNU_tail_call,
+ fill in TYPE_TAIL_CALL_LIST.
+ * gdbtypes.h (struct func_type): New field tail_call_list.
+ (struct call_site): New field tail_call_next.
+ (TYPE_TAIL_CALL_LIST): New definition.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Implement basic support for DW_TAG_GNU_call_site.
+ * block.c: Include gdbtypes.h and exceptions.h.
+ (call_site_for_pc): New function.
+ * block.h (call_site_for_pc): New declaration.
+ * defs.h: Include hashtab.h.
+ (make_cleanup_htab_delete, core_addr_hash, core_addr_eq): New
+ declarations.
+ * dwarf2-frame.c (dwarf2_frame_ctx_funcs): Install
+ ctx_no_push_dwarf_reg_entry_value.
+ * dwarf2expr.c (read_uleb128, read_sleb128): Support R as NULL.
+ (dwarf_block_to_dwarf_reg): New function.
+ (execute_stack_op) <DW_OP_GNU_entry_value>: Implement it.
+ (ctx_no_push_dwarf_reg_entry_value): New function.
+ * dwarf2expr.h (struct dwarf_expr_context_funcs): New field
+ push_dwarf_reg_entry_value.
+ (ctx_no_push_dwarf_reg_entry_value, dwarf_block_to_dwarf_reg): New
+ declarations.
+ * dwarf2loc.c: Include gdbcmd.h.
+ (dwarf_expr_ctx_funcs): New forward declaration.
+ (entry_values_debug, show_entry_values_debug, call_site_to_target_addr)
+ (dwarf_expr_reg_to_entry_parameter)
+ (dwarf_expr_push_dwarf_reg_entry_value): New.
+ (dwarf_expr_ctx_funcs): Install dwarf_expr_push_dwarf_reg_entry_value.
+ (dwarf2_evaluate_loc_desc_full): Handle NO_ENTRY_VALUE_ERROR.
+ (needs_dwarf_reg_entry_value): New function.
+ (needs_frame_ctx_funcs): Install it.
+ (_initialize_dwarf2loc): New function.
+ * dwarf2loc.h (entry_values_debug): New declaration.
+ * dwarf2read.c (struct dwarf2_cu): New field call_site_htab.
+ (read_call_site_scope): New forward declaration.
+ (process_full_comp_unit): Copy call_site_htab.
+ (process_die): Support DW_TAG_GNU_call_site.
+ (read_call_site_scope): New function.
+ (dwarf2_get_pc_bounds): Support NULL HIGHPC.
+ (dwarf_tag_name): Support DW_TAG_GNU_call_site.
+ (cleanup_htab): Delete.
+ (write_psymtabs_to_index): Use make_cleanup_htab_delete instead of it.
+ * exceptions.h (enum errors): New NO_ENTRY_VALUE_ERROR.
+ * gdb-gdb.py (StructMainTypePrettyPrinter): Support
+ FIELD_LOC_KIND_DWARF_BLOCK.
+ * gdbtypes.h (enum field_loc_kind): New entry
+ FIELD_LOC_KIND_DWARF_BLOCK.
+ (struct main_type): New loc entry dwarf_block.
+ (struct call_site, FIELD_DWARF_BLOCK, SET_FIELD_DWARF_BLOCK)
+ (TYPE_FIELD_DWARF_BLOCK): New.
+ * python/py-type.c: Include dwarf2loc.h.
+ (check_types_equal): Support FIELD_LOC_KIND_DWARF_BLOCK. New
+ internal_error call on unknown FIELD_LOC_KIND.
+ * symtab.h (struct symtab): New field call_site_htab.
+ * utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete)
+ (core_addr_hash, core_addr_eq): New functions.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code reshuffle.
+ * gdb-gdb.py (StructMainTypePrettyPrinter): Change
+ TYPE_SPECIFIC_CALLING_CONVENTION to TYPE_SPECIFIC_FUNC. Move
+ calling_convention under func_stuff there.
+ * gdbtypes.c (make_function_type): Call INIT_FUNC_SPECIFIC.
+ (init_type) <TYPE_CODE_FUNC>: Likewise.
+ (recursive_dump_type): Change TYPE_SPECIFIC_CALLING_CONVENTION to
+ TYPE_SPECIFIC_FUNC. New comment for tail_call_list.
+ * gdbtypes.h (enum type_specific_kind): Change
+ TYPE_SPECIFIC_CALLING_CONVENTION to TYPE_SPECIFIC_FUNC.
+ (struct main_type) <type_specific>: Change calling_convention to
+ func_stuff. Move calling_convention to ...
+ (struct func_type): ... this new struct.
+ (INIT_FUNC_SPECIFIC): New #define.
+ (TYPE_CALLING_CONVENTION): Change calling_convention to func_stuff.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix DW_OP_GNU_implicit_pointer for DWARF32 v3+ on 64-bit arches.
+ * dwarf2-frame.c (execute_stack_op): Initialize ctx->ref_addr_size.
+ * dwarf2expr.c (execute_stack_op) <DW_OP_GNU_implicit_pointer>: Use
+ ctx->ref_addr_size. Handle its invalid value.
+ * dwarf2expr.h (struct dwarf_expr_context): New field ref_addr_size.
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc_full)
+ (dwarf2_loc_desc_needs_frame): Initialize ctx->ref_addr_size.
+ * dwarf2loc.h (dwarf2_per_cu_ref_addr_size): New declaration.
+ * dwarf2read.c (decode_locdesc): Initialize ctx->ref_addr_size.
+ (dwarf2_per_cu_ref_addr_size): New function.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup.
+ * dwarf2read.c (per_cu_header_read_in): New function.
+ (dwarf2_per_cu_addr_size, dwarf2_per_cu_offset_size): Use it, with new
+ variables cu_header_local and cu_headerp.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix initial language detection with -readnow.
+ * dwarf2read.c (dw2_find_symbol_file): Handle OBJF_READNOW case.
+ * symfile.h (struct quick_symbol_functions): State find_symbol_file
+ searches only for global symbols.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix printed anonymous struct name.
+ * dwarf2read.c (fixup_partial_die): Handle for anonymous structs also
+ DW_TAG_interface_type. Strip for anonymous structs any prefixes.
+ (anonymous_struct_prefix): New function.
+ (determine_prefix): New variables retval. Call anonymous_struct_prefix.
+ (dwarf2_name): Strip for anonymous structs any prefixes.
+
+2011-10-07 Doug Evans <dje@google.com>
+
+ * python/lib/gdb/printing.py (register_pretty_printer): New argument
+ `replace'.
+
+ * python/lib/gdb/printing.py: Whitespace cleanup.
+
+ * python/py-value.c (valpy_call): Initialize ftype to avoid compiler
+ warning.
+
+2011-10-07 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.h (ALL_LWPS): Remove the ptid parameter.
+ * amd64-linux-nat.c (amd64_linux_dr_set_control)
+ (amd64_linux_dr_set_addr, amd64_linux_dr_unset_status): Adjust.
+ * arm-linux-nat.c (arm_linux_insert_hw_breakpoint)
+ (arm_linux_remove_hw_breakpoint, arm_linux_insert_watchpoint)
+ (arm_linux_remove_watchpoint): Adjust.
+ * i386-linux-nat.c (i386_linux_dr_set_control)
+ (i386_linux_dr_set_addr, i386_linux_dr_unset_status): Adjust.
+ * ia64-linux-nat.c (ia64_linux_insert_watchpoint)
+ (ia64_linux_remove_watchpoint): Adjust.
+ * mips-linux-nat.c (write_watchpoint_regs): Adjust.
+ * ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint)
+ (ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
+ (ppc_linux_insert_mask_watchpoint)
+ (ppc_linux_remove_mask_watchpoint, ppc_linux_insert_watchpoint)
+ (ppc_linux_remove_watchpoint): Adjust.
+ * s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint):
+ Adjust.
+
+2011-10-07 Corinna Vinschen <vinschen@redhat.com>
+
+ * windows-nat.c: Include wchar.h to avoid compiler warnings.
+ (clear_win32_environment): New function for Cygwin to clear out
+ Win32 environment.
+ (windows_create_inferior): Prepare new environment from in_env
+ for Cygwin, too.
+
+2011-10-07 Phil Muldoon <pmuldoon@redhat.com>
+
+ PR python/13264
+ * python/py-value.c (valpy_call): Check that arguments are
+ a tuple.
+ (is_intlike): Remove call to CHECK_TYPEDEF.
+ (valpy_nonzero): Catch GDB exceptions.
+ (valpy_absolute): Ditto.
+ (valpy_lazy_string): Ditto.
+ (valpy_call): Ditto.
+ (valpy_get_is_optimized_out): Ditto.
+ (valpy_long): Ditto.
+ (valpy_float): Ditto.
+ (valpy_int): Call CHECK_TYPEDEF. Catch GDB exceptions.
+ (valpy_richcompare): Ditto.
+
+2011-10-07 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * inferior.h (disable_randomization): Declare.
+ * infrun.c (disable_randomization): New global variable.
+ (show_disable_randomization): New function.
+ (set_disable_randomization): Likewise.
+ (_initialize_infrun): Install set/show disable-randomization
+ commands.
+ * linux-nat.c (disable_randomization): Remove.
+ (show_disable_randomization): Likewise.
+ (set_disable_randomization): Likewise.
+ (_initialize_linux_nat): No longer install set/show
+ disable-randomization commands here.
+ (linux_nat_supports_disable_randomization): New function.
+ (linux_nat_add_target): Install it.
+ * remote.c (PACKET_QDisableRandomization): New enum value.
+ (remote_protocol_packets): Support QDisableRandomization.
+ (_initialize_remote): Likewise.
+ (remote_supports_disable_randomization): New function.
+ (init_remote_ops): Install it.
+ (extended_remote_supports_disable_randomization): New function.
+ (init_extended_remote_ops): Install it.
+ (extended_remote_disable_randomization): New function.
+ (extended_remote_create_inferior_1): Call it.
+ * target.h (struct target_ops): Add to_supports_disable_randomization.
+ (target_supports_disable_randomization): Add prototype.
+ * target.c (target_supports_disable_randomization): New function.
+ (find_default_supports_disable_randomization): Likewise.
+ (init_dummy_target): Install it.
+
+2011-10-07 Kevin Pouget <kevin.pouget@st.com>
+
+ Allow Python notification of new object-file loadings.
+ * Makefile.in (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c.
+ (SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o.
+ Add build rule for this file.
+ * python/py-event.h (emit_new_objfile_event): New prototype.
+ (newobjfile): New Python event emitter.
+ * python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to
+ Python event registry.
+ * python/py-inferior.c: Include objfiles.h
+ (python_new_objfile): New function.
+ (gdbpy_initialize_inferior): Add python_new_objfile to the new objfile
+ observers.
+ * python/py-newobjfileevent.c: New file.
+ * python-internal.h (gdbpy_initialize_new_objfile_event): New
+ prototype.
+ * python/python.c (_initialize_python): Add
+ gdbpy_initialize_new_objfile_event call.
+ * NEWS: Add item for new Python event "gdb.newobjfile"
+
+2011-10-05 Tristan Gingold <gingold@adacore.com>
+
+ * ada-tasks.c (read_atcb): Make ravenscar_task_name static.
+ Extract the ravenscar task name from the symbol for the atcb.
+
+2011-10-04 Paul Koning <paul_koning@dell.com>
+
+ * python/py-type.c (typy_make_iter): Add forward declaration.
+ (typy_fields_items): Use the gdb.Type iterator.
+
+2011-10-04 Paul Koning <paul_koning@dell.com>
+
+ * NEWS: Add entry for Python gdb.Type mapping methods.
+
+2011-10-04 Kevin Pouget <kevin.pouget@st.com>
+
+ PR python/12691: Add the inferior to Python exited event
+ * python/py-exitedevent.c (create_exited_event_object): Add inferior
+ to exited_event.
+ * python/py-event.h (emit_exited_event): Likewise
+ * python/-inferior.c (python_inferior_exit): Likewise
+
+2011-10-03 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (print_ada_task_info): Add "thread-id" field
+ in output of -ada-task-info GDB/MI command.
+
+2011-10-03 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.h (struct inferior): Declare.
+ (print_ada_task_info): Add declaration.
+ * ada-tasks.c (print_ada_task_info): Make non-static.
+ * mi/mi-cmds.c (mi_cmds): Add "ada-task-info".
+ * mi/mi-cmds.h (mi_cmd_ada_task_info): Add declaration.
+ * mi/mi-main.c: #include "ada-lang.h".
+ (mi_cmd_list_features): Add "ada-task-info" to the list
+ of supported features.
+ (mi_cmd_ada_task_info): New function.
+
+2011-10-03 Joel Brobecker <brobecker@adacore.com>
+
+ * python/python.c (python_run_simple_file): New function.
+ (source_python_script, source_python_script_for_objfile):
+ Replace call to PyRun_SimpleFile by call to
+ python_run_simple_file.
+
+2011-10-03 Paul Koning <paul_koning@dell.com>
+
+ * python/py-value.c (valpy_get_address): Use Py_XINCREF.
+ (value_to_value_object): Fetch value if it was lazy.
+
+2011-10-02 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup.
+ * solib-svr4.c (svr4_default_sos): Remove variables head and link_ptr.
+ Rearrange the code for it.
+
+2011-10-02 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (bkpt_print_recreate): Add call to
+ print_recreate_thread.
+
+2011-09-29 Mike Frysinger <vapier@gentoo.org>
+
+ * common/linux-ptrace.h (PTRACE_GETFDPIC, PTRACE_GETFDPIC_EXEC,
+ PTRACE_GETFDPIC_INTERP): Define.
+
+2011-09-28 Yao Qi <yao@codesourcery.com>
+
+ * symfile.c (add_symbol_file_command): Update message on usage.
+
+2011-09-28 Paul Koning <paul_koning@dell.com>
+
+ * python/py-type.c (make_fielditem, typy_field_names, typy_items)
+ (typy_length, typy_get, typy_has_key, typy_make_iter)
+ (typy_iterkeys, typy_iteritems, typy_itervalues, typy_iter)
+ (typy_iterator_iter, typy_iterator_iternext)
+ (typy_iterator_dealloc): New functions to implement standard
+ Python mapping methods on gdb.Type object.
+ (gdb.TypeIterator): New Python type.
+ * python/python-internal.h (gdbpy_iter_kind): New enum.
+
+2011-09-28 David S. Miller <davem@davemloft.net>
+
+ * sparc-tdep.h (SPARC_F2_REGNUM, SPARC_F3_REGNUM, SPARC_F4_REGNUM,
+ SPARC_F5_REGNUM, SPARC_F6_REGNUM, SPARC_F7_REGNUM): New enums.
+ * sparc-tdep.c (sparc_complex_floating_p): New function.
+ (sparc32_store_arguments): Handle complex floats.
+ (sparc32_extract_return_value): Likewise.
+ (sparc32_store_return_value): Likewise.
+ (sparc32_stabs_argument_has_addr): Likewise.
+ * sparc64-tdep.c (sparc64_complex_floating_p): New function.
+ (sparc64_store_floating_fields): Handle complex floats.
+ (sparc64_store_arguments): Likewise.
+ (sparc64_store_return_value): Likewise.
+
+2011-09-28 Eli Zaretskii <eliz@gnu.org>
+
+ * windows-nat.c (env_sort) [!__CYGWIN__]: Function restored from
+ before the change on 2006-12-09.
+ (windows_create_inferior) [!__CYGWIN__]: Restore code that
+ generates the environment block for CreateProcessA, modulo the
+ Cygwin-specific parts that are not needed here.
+
+2011-09-27 Tristan Gingold <gingold@adacore.com>
+
+ * target.h (enum target_object): Add TARGET_OBJECT_DARWIN_DYLD_INFO.
+ * solib-darwin.c (DYLD_VERSION_MAX): Update number.
+ (darwin_solib_get_all_image_info_addr_at_init): New function.
+ (darwin_solib_read_all_image_info_addr): Likewise.
+ (darwin_solib_create_inferior_hook): Use the above two functions.
+ * darwin-nat.c (darwin_execvp): Renames retval to res.
+ (darwin_read_write_inferior): Update comment.
+ (darwin_read_dyld_info): New function.
+ (darwin_xfer_partial): Handle DYLD_INFO.
+
+2011-09-27 Stan Shebs <stan@codesourcery.com>
+
+ Add return address collection for tracepoints.
+ * tracepoint.c (encode_actions_1): Add case for $_ret.
+ (validate_actionline): Check for $_ret.
+ (trace_dump_actions): Ditto.
+ * ax-gdb.h (gen_trace_for_return_address): Declare.
+ * ax-gdb.c: Include arch-utils.h.
+ (gen_trace_for_return_address): New function.
+ (agent_command): Add return address special case.
+ * amd64-tdep.c: Include ax.h and ax-gdb.h.
+ (amd64_gen_return_address): New function.
+ (amd64_init_abi): Call it.
+ * i386-tdep.c: Include ax.h and ax-gdb.h.
+ (i386_gen_return_address): New function.
+ (i386_init_abi): Call it.
+ * arch-utils.h (default_gen_return_address): Declare.
+ * arch-utils.c (default_gen_return_address): New function.
+ * gdbarch.sh (gen_return_address): New method.
+ * gdbarch.h, gdbarch.c: Regenerate.
+
+2011-09-23 Joseph Myers <joseph@codesourcery.com>
+
+ PR gdb/13079
+ * i386-tdep.c (i386_frame_align): New.
+ (i386_gdbarch_init): Use i386_frame_align.
+
+2011-09-23 Yao Qi <yao@codesourcery.com>
+
+ * i386-linux-nat.c (i386_linux_resume): Use read_memory_unsigned_integer
+ to get address.
+
+2011-09-22 Tristan Gingold <gingold@adacore.com>
+
+ * fork-child.c (fork_inferior): Add exec_fun parameter.
+ Call exec_fun or execvp.
+ * inferior.h: Adjust prototype.
+ * gnu-nat.c (gnu_create_inferior): Adjust fork_inferior call.
+ * inf-ttrace.c (inf_ttrace_create_inferior): Ditto.
+ * inf-ptrace.c (inf_ptrace_create_inferior): Ditto.
+ * procfs.c (procfs_create_inferior): Ditto.
+ * darwin-nat.c (darwin_execvp): New function.
+ (darwin_create_inferior): Use it.
+
+2011-09-22 Yao Qi <yao@codesourcery.com>
+
+ * infrun.c (context_switch): Print debug message when switching to
+ a different thread.
+
+2011-09-21 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * s390-tdep.c (s390_function_arg_pass_by_reference): Handle
+ complex and vector types.
+ (s390_return_value_convention): Likewise.
+
+ (s390_value_from_register): Call check_typedef.
+ (extend_simple_arg): Likewise.
+ (alignment_of): Likewise.
+ (s390_push_dummy_call): Likewise.
+ (s390_return_value): Likewise.
+
+2011-09-21 Joseph Myers <joseph@codesourcery.com>
+
+ * event-top.c (async_disconnect): If an exception is thrown from
+ quit_cover, call pop_all_targets. Use TRY_CATCH instead of
+ catch_errors.
+ * top.c (quit_cover): Return void and take no arguments.
+ * top.h (quit_cover): Update prototype.
+
+2011-09-20 Joseph Myers <joseph@codesourcery.com>
+
+ * mi/mi-main.c (mi_load_progress): Restore saved_uiout value to
+ current_uiout, not uiout.
+
+2011-09-19 Doug Evans <dje@google.com>
+
+ * python/py-auto-load.c (source_section_scripts): Fix file
+ descriptor leak.
+ * python/python.c (source_python_script_for_objfile): Tweak comments.
+
+2011-09-18 Yao Qi <yao@codesourcery.com>
+ Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ Support displaced stepping for Thumb 16-bit insns.
+ * arm-tdep.c (THUMB_NOP) Define.
+ (thumb_copy_unmodified_16bit): New.
+ (thumb_copy_b, thumb_copy_bx_blx_reg): New.
+ (thumb_copy_alu_reg): New.
+ (arm_copy_svc): Move some common code to ...
+ (install_svc): ... here. New.
+ (thumb_copy_svc): New.
+ (install_pc_relative): New.
+ (thumb_copy_pc_relative_16bit): New.
+ (thumb_decode_pc_relative_16bit): New.
+ (thumb_copy_16bit_ldr_literal): New.
+ (thumb_copy_cbnz_cbz): New.
+ (cleanup_pop_pc_16bit_all): New.
+ (thumb_copy_pop_pc_16bit): New.
+ (thumb_process_displaced_16bit_insn): New.
+ (thumb_process_displaced_32bit_insn): New.
+ (thumb_process_displaced_insn): process thumb instruction.
+
+ Support displaced stepping for Thumb 32-bit insns.
+ * arm-tdep.c (thumb_copy_unmodified_32bit): New.
+ (thumb2_copy_preload): New.
+ (thumb2_copy_copro_load_store): New.
+ (thumb2_copy_b_bl_blx): New.
+ (thumb2_copy_alu_imm): New.
+ (thumb2_copy_load_reg_imm): New.
+ (thumb2_copy_load_literal): New
+ (thumb2_copy_block_xfer): New.
+ (thumb_32bit_copy_undef): New.
+ (thumb_32bit_copy_unpred): New.
+ (thumb2_decode_ext_reg_ld_st): New.
+ (thumb2_decode_svc_copro): New.
+ (decode_thumb_32bit_store_single_data_item): New.
+ (thumb_copy_pc_relative_32bit): New.
+ (thumb_decode_pc_relative_32bit): New.
+ (decode_thumb_32bit_ld_mem_hints): New.
+ (thumb2_copy_table_branch): New
+ (thumb_process_displaced_32bit_insn): Process Thumb 32-bit
+ instructions.
+
+2011-09-18 Yao Qi <yao@codesourcery.com>
+
+ * arm-tdep.c (install_copro_load_store): PC is set 4-byte aligned.
+ (install_b_bl_blx): Likewise.
+
+2011-09-17 Yao Qi <yao@codesourcery.com>
+
+ * arm-tdep.c (install_ldr_str_ldrb_strb): Renamed to ...
+ (install_load_store): ... this. New.
+ Change parameter BYTE to SIZE.
+ (arm_copy_ldr_str_ldrb_strb): Update caller.
+ (arm_decode_ld_st_word_ubyte): Update caller.
+
+2011-09-17 Yao Qi <yao@codesourcery.com>
+
+ * infrun.c (displaced_step_fixup): Move some code ...
+ (displaced_step_restore): ... here. New function.
+ (handle_inferior_event): Cleanup displaced stepping state for both
+ child and parent when get forked or vforked event.
+ * regcache.c (get_thread_arch_aspace_regcache): New function.
+ get_thread_arch_regcache (): Call it.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (print_ada_task_info): New function, merging
+ short_task_info and info_tasks together. Reimplement using
+ ui-out instead of printing to stdout directly. Move the code
+ building and checking the task list here, instead of leaving it
+ in info_tasks_command.
+ (info_task): Move the code building and checking the task
+ list here, instead of leaving it in info_tasks_command.
+ (info_tasks_command): Delete code building and checking
+ the task list - moved elsewhere. Update calls to info_tasks
+ and info_task.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (info_task): Delete parameter `from_tty'.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (info_tasks): Delete parameter `from_tty'.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.h (ada_build_task_list): Remove parameter
+ `warn_if_null'.
+ * ada-tasks.c (ada_build_task_list): Remove parameter
+ `warn_if_null'. Adjust implementation and documentation.
+ (valid_task_id, ada_get_environment_task)
+ iterate_over_live_ada_tasks): Adjust call to ada_build_task_list.
+ (info_tasks_command): Adjust implementation.
+ (task_command): Likewise.
+ * ravenscar-thread.c (ravenscar_find_new_threads): Fix call
+ to ada_build_task_list.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (ada_tasks_check_symbol_table, task_list): Delete.
+ (enum ada_known_tasks_kind, struct ada_tasks_inferior_data): New.
+ (ada_tasks_inferior_data_handle): New static global.
+ (get_ada_tasks_inferior_data): New function.
+ (ada_get_task_number, get_task_number_from_id, valid_task_id)
+ (ada_get_environment_task, iterate_over_live_ada_tasks)
+ (add_ada_task, read_known_tasks_array, read_known_tasks_list):
+ Adjust.
+ (ada_set_current_inferior_known_tasks_addr): New function.
+ (read_known_tasks, ada_build_task_list, short_task_info)
+ (info_tasks, info_task, info_tasks_command, task_command_1)
+ (task_command, ada_task_list_changed): Adjust.
+ (ada_tasks_invalidate_inferior_data): New function.
+ (ada_normal_stop_observer, ada_new_objfile_observer): Adjust.
+ (_initialize_tasks): Set ada_tasks_inferior_data_handle.
+ * ada-lang.h (struct inferior): Add declaration.
+ (ada_task_list_changed): Update profile.
+ * remote-wtx-pd.c: #include "inferior.h".
+ (switch_to_pd_internal): Update call to ada_task_list_changed.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c: #include "progspace.h" and "objfiles.h".
+ (atcb_type, atcb_common_type, atcb_ll_type, atcb_call_type)
+ (atcb_fieldno): Delete these static globals.
+ (struct ada_tasks_pspace_data): New struct.
+ (ada_tasks_pspace_data_handle): New static global.
+ (get_ada_tasks_pspace_data): New function.
+ (ada_tasks_invalidate_pspace_data): New function.
+ (get_tcb_types_info, ptid_from_atcb_common, read_atcb)
+ (read_known_tasks_list, ada_new_objfile_observer): Adjust.
+ (_initialize_tasks): Create this module's per-progspace
+ data handle.
+
+2011-09-16 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (struct atcb_fieldnos): Renames struct tcb_fieldnos.
+
+2011-09-16 Tristan Gingold <gingold@adacore.com>
+
+ * fork-child.c (fork_inferior): Update comment. Use alloca
+ instead of xmalloc for argv. Move len and shell_command
+ declarations in the block where they are used.
+ Only call execvp. Factorize failure code.
+
+2011-09-16 Abhijit Halder <abhijit.k.halder@gmail.com>
+
+ Code cleanup.
+ * parse.c (write_exp_elt): Change argument to pass a pointer of union
+ `exp_element' instead of an element of the same and make the function
+ static.
+ (write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block)
+ (write_exp_elt_objfile, write_exp_elt_longcst, write_exp_elt_dblcst)
+ (write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern):
+ Change argument of `write_exp_elt' function call.
+ Remove extra spaces from comments.
+ * parser-defs.h (write_exp_elt): Remove prototype.
+
+2011-09-15 Paul Koning <paul_koning@dell.com>
+
+ * python/py-cmd.c (gdbpy_string_to_argv): Decrement reference
+ count of item appended to list.
+ * python/py-type.c (typy_fields): Likewise.
+
+2011-09-15 Paul Koning <paul_koning@dell.com>
+
+ * MAINTAINERS (Write After Approval): Add myself to the list.
+
+2011-09-15 Kevin Pouget <kevin.pouget@st.com>
+
+ PR threads/12628
+ * linux-fork.c (checkpoint_command): Disallow checkpointing of
+ processes with multiple threads.
+ (inf_has_multiple_thread_cb): New function.
+ (inf_has_multiple_threads): New function.
+
+2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* python/py-inferior.c (GdbMethods): New Python method definition.
2011-09-15 Kevin Pouget <kevin.pouget@st.com>
- * MAINTAINERS (Right After Approval): Add myself to the list
+ * MAINTAINERS (Write After Approval): Add myself to the list
2011-09-14 Pedro Alves <pedro@codesourcery.com>