+2011-10-27 Kevin Pouget <kevin.pouget@st.com>
+
+ Move unwind reasons to an external .def file
+ * frame.c (frame_stop_reason_string): Rewrite using
+ unwind_stop_reasons.def.
+ * frame.h (enum unwind_stop_reason): Likewise.
+ * python/py-frame.c (gdbpy_initialize_frames): Likewise.
+ (gdbpy_frame_stop_reason_string): Use new enum unwind_stop_reason
+ constants for bound-checking.
+ * unwind_stop_reasons.def: New file.
+ * stack.c (backtrace_command_1): Handle UNWIND_FIRST_ERROR as an alias
+ instead of a distinct value.
+
+2011-10-27 Phil Muldoon <pmuldoon@redhat.com>
+
+ PR python/13331
+
+ * python/py-function.c (fnpy_call): Check 'args' is not NULL.
+ (convert_values_to_python): Return on Python tuple allocation
+ failure. Return NULL on value conversion error.
+
+2011-10-27 Phil Muldoon <pmuldoon@redhat.com>
+
+ * python/py-breakpoint.c (bppy_set_enabled): Use TRY_CATCH.
+ (bppy_set_task): Ditto.
+ (bppy_delete_breakpoint): Ditto.
+ * python/py-symbol.c (gdbpy_lookup_symbol): Ditto.
+ (gdbpy_lookup_global_symbol): Ditto.
+ * python/py-lazy-string.c (stpy_convert_to_value): Ditto.
+ * python/py-frame.c (frapy_is_valid): Ditto.
+ (frame_info_to_frame_object): Ditto.
+ * python/py-type.c (typy_lookup_type): Ditto.
+ (typy_getitem): Ditto.
+ (typy_has_key): Ditto.
+ (typy_richcompare): Use TRY_CATCH. Do not return Py_NE on error.
+
+2011-10-26 Joel Brobecker <brobecker@adacore.com>
+
+ * gdbarch.h: Regenerate.
+
+2011-10-26 Meador Inge <meadori@codesourcery.com>
+
+ * gdbarch.sh (function_list): Use 'pstring' when printing
+ 'gcore_bfd_target'.
+ * gdbarch.c: Regenerate.
+
+2011-10-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * regcache.c (registers_changed_ptid): Invalidate thread architecture
+ and frame caches if PTID refers to all threads of a process.
+
+2011-10-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c (spu_catch_start): Pass non-NULL breakpoint ops
+ to create_breakpoint.
+
+2011-10-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-sysv-tdep.c (ppc_sysv_use_opencl_abi): New function.
+ (ppc_sysv_abi_push_dummy_call): Use it.
+ (do_ppc_sysv_return_value): Likewise.
+ (ppc64_sysv_abi_push_dummy_call): Likewise.
+ (ppc64_sysv_abi_return_value): Likewise.
+
+2011-10-26 Paul Koning <paul_koning@dell.com>
+
+ * python/lib/gdb/types.py (deepitems): New function.
+
+2011-10-25 Paul Koning <paul_koning@dell.com>
+
+ PR python/13327
+
+ * python/py-value.c (value_to_value_object): Remove fetching of
+ the value if it was lazy.
+ (valpy_get_is_lazy): New function.
+ (valpy_fetch_lazy): New function.
+
+2011-10-24 Joel Brobecker <brobecker@adacore.com>
+
+ * ppc-sysv-tdep.c (do_ppc_sysv_return_value): Do not check
+ FUNC_TYPE's calling convention if FUNC_TYPE is not a function.
+
+2011-10-24 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_handle_extended_wait): When handling a clone
+ event, in non-stop, if not stopping, make sure the new lwp has
+ last_resume_kind set to resume_continue. Assert that when we're
+ resuming the new lwp, its last_resume_kind is resume_continue.
+
+2011-10-24 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (handle_inferior_event): Don't assume inferior_ptid is
+ already set when marking the event thread as not executing in
+ non-stop mode.
+
+2011-10-24 Pedro Alves <pedro@codesourcery.com>
+
+ * infrun.c (handle_inferior_event): Add debug output for
+ TARGET_WAITKIND_NO_HISTORY.
+
+2011-10-24 Phil Muldoon <pmuldoon@redhat.com>
+
+ * NEWS: Move set/show extended-prompt to "New Options". Expand
+ description. Fix typos.
+
+2011-10-24 Phil Muldoon <pmuldoon@redhat.com>
+
+ PR python/13310
+
+ * python/py-param.c (call_doc_function): Correctly deference on
+ function exit.
+
+2011-10-21 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-tasks.c (print_ada_task_info): Fix computation of
+ number of tasks displayed in command output.
+
+2011-10-20 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Ulrich Weigand <uweigand@de.ibm.com>
+
+ * dwarf2-frame-tailcall.c: Include dwarf2-frame.h.
+ (dwarf2_tailcall_prev_register_first): Use dwarf2_frame_cfa.
+ (dwarf2_tailcall_sniffer_first): Remove variable pc_regnum. Replace
+ gdbarch_pc_regnum and frame_unwind_register_unsigned by
+ gdbarch_unwind_pc.
+
+2011-10-20 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2read.c (dw2_get_file_names): Move adjustment for type
+ section to...
+ (partial_read_comp_unit_head): ...here. Add is_debug_type_section
+ flag. Adjust all callers.
+ (process_psymtab_comp_unit): Remove adjustment for type section.
+
+2011-10-20 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * cp-namespace.c (cp_scan_for_anonymous_namespaces): Changed function
+ arguments by adding OBJFILE. Instead of getting objfile from
+ symbol's symtab, use new argument OBJFILE.
+ * cp-support.h (cp_scan_for_anonymous_namespaces): Changed function
+ arguments by adding OBJFILE.
+ * gdb/dwarf2read.c (new_symbol_full): Change call to
+ cp_scan_for_anonymous_namespaces to match new signature.
+ * gdb/stabsread.c (define_symbol): Change call to
+ cp_scan_for_anonymous_namespaces to match new signature.
+
+2011-10-20 Phil Muldoon <pmuldoon@redhat.com>
+
+ PR python/13308
+ PR python/13309
+
+ * python/py-breakpoint.c (gdbpy_breakpoints): Fix List reference
+ leak.
+ * python/py-inferior.c (gdbpy_inferiors): Fix List reference
+ leak. Delete unused variables.
+
+2011-10-20 Phil Muldoon <pmuldoon@redhat.com>
+
+ PR python/12656
+
+ * python/py-frame.c (frapy_read_var): Use const struct *block.
+ * python/py-type.c (typy_lookup_typename): Likewise.
+ (typy_lookup_type): Likewise.
+ (typy_legacy_template_argument): Likewise.
+ (typy_template_argument): Likewise.
+ (gdbpy_lookup_type): Likewise.
+ * python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
+ * python/py-block.c (blpy_block_object): Likewise.
+ (blpy_iter): Likewise.
+ (blpy_get_start): Likewise.
+ (blpy_get_end): Likewise.
+ (blpy_get_function): Likewise.
+ (blpy_get_superblock): Likewise.
+ (set_block): Likewise.
+ (block_to_block_object): Likewise.
+ (block_object_to_block): Likewise.
+ (blpy_is_valid): Likewise.
+ (blpy_get_global_block): New function.
+ (blpy_get_static_block): New function.
+ (blpy_is_global): New function.
+ (blpy_is_static): New function.
+ * blockframe.c (block_innermost_frame): Likewise.
+ * valops.c (value_of_variable): Likewise.
+ * frame.h: Update prototypes.
+ * python/python-internal.h: Likewise.
+ * value.h: Likewise.
+
+2011-10-19 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2read.c (create_debug_types_hash_table): Fix size of
+ type_offset field.
+
+2011-10-19 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2read.c (peek_abbrev_code): New function.
+ (dw2_get_file_names): Check for dummy compilation units.
+ (create_debug_types_hash_table): Likewise.
+ (process_psymtab_comp_unit): Likewise.
+ (load_partial_comp_unit): Likewise.
+ (load_full_comp_unit): Likewise.
+
+2011-10-18 Aleksandar Ristovski <aristovski@qnx.com>
+
+ * solib-svr4.c (read_program_header): New variables pt_phdr, pt_phdr_p,
+ initialize them from target PT_PHDR p_vaddr, relocate sect_addr by
+ pt_phdr if PT_PHDR was found.
+
+2011-10-17 Joost van der Sluis <joost@cnoc.nl>
+
+ * gdbtypes.h: Added TYPE_SAFE_NAME macro to get the name of a
+ type or "<unnamed type"> when there is no name assigned.
+ * gnu-v3-abi.c (gnuv3_rtti_type): Use TYPE_SAFE_NAME macro to
+ avoid a sigint when no name is assigned.
+
+2011-10-17 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Revert:
+ 2011-07-27 Jan Kratochvil <jan.kratochvil@redhat.com>
+ * dwarf2expr.c (ctx_no_read_reg): New function.
+ * dwarf2expr.h (ctx_no_read_reg): New declaration.
+ * dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
+ (decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
+ (decode_locdesc): Replace by a caller of dwarf_expr_eval.
+
+2011-10-16 Doug Evans <dje@google.com>
+
+ * NEWS: Document python gdb.printing.register_pretty_printer's new
+ `replace' parameter.
+
+2011-10-14 Keith Seitz <keiths@redhat.com>
+
+ PR c++/13225
+ * eval.c (evaluate_subexp_standard): Do not construct
+ an array of types; pass the value array directly to
+ find_overload_match.
+ * gdbtypes.h (NULL_POINTER_CONVERSION_BADNESS): Declare.
+ (rank_function): Take an array of values instead of types.
+ (rank_one_type): Add struct value * parameter.
+ * gdbtypes.c (NULL_POINTER_CONVERSION_BADNESS): Define.
+ (rank_function): For each argument, pass the argument's
+ value to rank_one_type.
+ (rank_one_type): Add VALUE parameter.
+ If the parameter type is a pointer and the argument type
+ is an integer, return NULL_POINTER_CONVERSION_BADNESS if
+ VALUE is zero.
+ Update all calls to rank_one_type, passing NULL for new
+ VALUE parameter.
+ * valarith.c (value_user_defined_cpp_op): Do not construct
+ an array of types; pass the value array directly to
+ find_overload_match.
+ * valops.c (find_overload_method_list): Take an array of
+ values instead of types.
+ Save the type of OBJP for later use.
+ Update calls to find_oload_champ, and find_oload_champ_namespace.
+ (find_oload_champ_namespace): Take an array of values instead
+ of types.
+ (find_oload_champ_namespace_loop): Likewise.
+ (find_oload_champ): Likewise.
+ (classify_oload_match): Inspect all arguments
+ until INCOMPATIBLE is found. Return the worst badness found
+ otherwise.
+ (compare_parameters): Update call to rank_one_type.
+ * value.h (find_overload_match): Take an array of values instead
+ of types.
+
+2011-10-14 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Drop lazy lm_info reading.
+ * solib-svr4.c (struct lm_info): Remove field lm. New fields l_addr_p,
+ l_addr_inferior, l_ld, l_next, l_prev and l_name.
+ (lm_info_read): New function.
+ (lm_addr_from_link_map, lm_dynamic_from_link_map): Remove.
+ (lm_addr_check): Use l_addr_p. No longer use lm_addr_from_link_map and
+ lm_dynamic_from_link_map.
+ (lm_next, lm_prev, lm_name): Remove.
+ (svr4_keep_data_in_core): Use lm_info_read, drop the lm_info entries
+ initialization incl. read_memory. No longer use lm_name.
+ (svr4_free_so): Drop lm_info->lm freeing.
+ (svr4_default_sos): Initialize lminfo with zeroes. Use l_addr_p. Drop
+ explicit lm_addr and lm initialization.
+ (svr4_read_so_list): Use lm_info_read, drop the initailization of
+ fields by hand, incl. read_memory. No longer use lm_next, lm_prev and
+ lm_name.
+
+2011-10-14 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * defs.h (struct so_list): New forward declaration.
+ (make_cleanup_free_so): New declaration.
+ * solib-svr4.c (ignore_first_link_map_entry): Remove.
+ (svr4_free_so): Move the function here from downwards. Handle NULL
+ so->lm_info.
+ (svr4_free_library_list): New.
+ (svr4_read_so_list): New, moved here code from svr4_current_sos.
+ Use more cleanups. Use new parameter ignore_first instead of
+ ignore_first_link_map_entry.
+ (svr4_current_sos): New variable ignore_first, initialize it. New
+ variable back_to, use it for svr4_free_library_list protection.
+ (svr4_free_so): Remove - move upwards.
+ * utils.c: Include solist.h.
+ (do_free_so, make_cleanup_free_so): New functions.
+
+2011-10-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix internal error regression.
+ * value.c (value_primitive_field): Handle value_optimized_out. Move
+ packed bitfields comment.
+
+2011-10-13 Tom Tromey <tromey@redhat.com>
+
+ * python/py-breakpoint.c (gdbpy_breakpoint_deleted): Ensure GIL is
+ always released.
+
+2011-10-13 Tom Tromey <tromey@redhat.com>
+
+ * python/py-type.c (typy_has_key): Make 'field' const.
+
+2011-10-13 Luis Machado <lgustavo@codesourcery.com>
+
+ * remote.c (remote_save_trace_data): Invert comparison.
+
+2011-10-13 Luis Machado <lgustavo@codesourcery.com>
+
+ * tracepoint.c (trace_save_command): Use filename instead of
+ args when printing.
+
+2011-10-13 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (dwarf2_fetch_die_location_block): Initialize .data even
+ if .size is 0.
+
+2011-10-13 Yao Qi <yao@codesourcery.com>
+
+ PR gdb/12703
+ * arm-tdep.c (thumb_analyze_prologue): Call thumb_insn_size to check
+ whether insn is a 32-bit Thumb-2 instruction.
+ (thumb_in_function_epilogue_p): Likewise.
+ (thumb_get_next_pc_raw): Likewise.
+ (arm_breakpoint_from_pc): Likewise.
+
+2011-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix empty DWARF expressions DATA vs. SIZE conditionals.
+ * dwarf2loc.c (dwarf2_find_location_expression): Clear *LOCEXPR_LENGTH.
+ (dwarf_expr_frame_base_1): Indicate unavailability via zero *LENGTH.
+ (locexpr_tracepoint_var_ref): Check only zero SIZE, not zero DATA.
+ (loclist_read_variable, loclist_tracepoint_var_ref): Do not check for
+ zero DATA.
+ * dwarf2loc.h (struct dwarf2_locexpr_baton): Comment DATA vs. SIZE
+ validity.
+ * dwarf2read.c (struct dwarf_block): Comment DATA validity.
+ (dwarf2_fetch_die_location_block, dwarf2_symbol_mark_computed): Do not
+ clear DATA on zero SIZE.
+
+2011-10-12 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (partial_read_comp_unit_head): Set header->offset,
+ header->first_die_offset here. All callers updated.
+
+2011-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix compatibility with texinfo versions older than 4.12.
+ * Makefile.in (MAKEINFO): Set to @MAKEINFO@.
+ (MAKEINFOFLAGS, MAKEINFO_EXTRA_FLAGS, MAKEINFO_CMD): New.
+ (MAKEHTMLFLAGS): Use MAKEINFO_CMD.
+ (FLAGS_TO_PASS): Add MAKEINFOFLAGS and MAKEINFO_EXTRA_FLAGS.
+ * configure: Regenerate.
+ * configure.ac (MAKEINFO): Find it, from libiberty/configure.ac.
+ (MAKEINFOFLAGS): Pre-set it to --split-size=5000000.
+ (MAKEINFO_EXTRA_FLAGS): New test for -DHAVE_MAKEINFO_CLICK.
+
+2011-10-12 Gary Benson <gbenson@redhat.com>
+
+ * breakpoint.h (pc_at_non_inline_function): Declare.
+ * breakpoint.c (is_non_inline_function,
+ pc_at_non_inline_function): New functions.
+ * infrun.c (handle_inferior_event): Don't call skip_inline_frames
+ if the stop is at a location where functions cannot be inlined.
+
+2011-10-12 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (stop_and_resume_callback): Don't re-resume LWPs if
+ the core wanted them stopped, or if they now have a pending event
+ to report.
+ (linux_nat_filter_event): New parameter `new_pending_p'. Pass it
+ down to stop_and_resume_callback.
+ (linux_nat_wait_1): Always clear `options' when retrying. Handle
+ having new pending events after calling linux_nat_filter_event.
+
+2011-10-11 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2read.c: Undo inadvertent changes in previous commit.
+
+2011-10-11 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2read.c (partial_die_parent_scope): Rearrange conditional
+ logic.
+
+2011-10-11 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * symfile.c (separate_debug_file_exists): Fix condition.
+
+2011-10-11 David S. Miller <davem@davemloft.net>
+
+ * regcache.c (regcache_restore): Do not write unavailable regs, mark
+ static.
+ * regcache.h (regcache_restore): Remove declaration.
+
+ * gdbarch.sh: New field 'long_long_align_bit'.
+ * gdbarch.c, gdbarch.h: Regenerate.
+ * i386-tdep.c (i386_gdbarch_init): Set long_long_align_bit to 32.
+ * jit.c (jit_read_code_entry): Use it to determine correct size offset.
+
+2011-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Revert this part of:
+ 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.
+
+ Reimplement @entry in input expressions.
+ * c-exp.y (ENTRY): New.
+ (variable: name_not_typename ENTRY): New.
+ (lex_one_token): Optionally return ENTRY instead of the '@' lex.
+
+2011-10-11 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_handle_extended_wait): Always dump both the
+ parent and child's pids as soon as we detect a clone event.
+ Adjust another debug message.
+
+2011-10-11 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_lwp_is_zombie): Return early if the LWP is
+ not zombie instead of reading the whole file.
+
+2011-10-11 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix separate debuginfo warning with "remote:" access.
+ * objfiles.h (struct objfile): New fields crc32 and crc32_p.
+ * symfile.c (get_file_crc): New function with the code moved from ...
+ (separate_debug_file_exists): ... this function, specifically variables
+ buffer and count. New variable verified_as_different, set it. Remove
+ file_crc initialization. Verify also if both files are not the same
+ manually, if needed.
+
+2011-10-11 Yao Qi <yao@codesourcery.com>
+
+ * arm-tdep.c (arm_get_next_pc_raw): Use read_memory_unsigned_integer
+ to get address.
+
+2011-10-10 Doug Evans <dje@google.com>
+
+ * linux-thread-db.c (thread_db_new_objfile): Only try to load
+ libthread_db when we load libpthread or the main symbol file.
+ (thread_db_inferior_created): New function.
+ (_initialize_thread_db): Attach inferior_created observer.
+ * linux-nat.c (linux_child_post_attach): Remove call to
+ check_for_thread_db.
+ (linux_child_post_startup_inferior): Ditto.
+ * objfiles.h (OBJF_MAINLINE): Define.
+ * symfile.c (symbol_file_add_with_addrs_or_offsets): Pass it to
+ allocate_objfile when appropriate.
+
+2011-10-10 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR gdb/13218
+ * arm-linux-nat.c (os_version, os_major, os_minor, os_release):
+ Remove unused variables.
+ (get_linux_version): Remove function.
+ (_initialize_arm_linux_nat): Do not call it.
+
+2011-10-10 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_handle_extended_wait): Don't resume the new
+ new clone lwp if the core asked it to stop. Don't pass on
+ unexpected signals to the new clone; leave them pending instead.
+
+2011-10-10 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (resume_lwp): Remove redundant debug output.
+
+2011-10-10 Pedro Alves <pedro@codesourcery.com>
+
+ * linux-nat.c (linux_nat_wait_1): Copy the event lwp's
+ last_resume_kind before clearing it, and use the copy instead to
+ determine whether to report a SIGSTOP as TARGET_SIGNAL_0. Use
+ resume_clear_callback in the non-stop path too.
+
+2011-10-09 Yao Qi <yao@codesourcery.com>
+
+ * valprint.c (value_check_printable): Add one parameter OPTIONS.
+ Honor OPTIONS and VAL's type.
+ (common_val_print, value_print): Update to pass one more parameter.
+
+2011-10-09 Doug Evans <dje@google.com>
+
+ Add new "alias" command.
+ * NEWS: Mention new command.
+ * command.h (valid_user_defined_cmd_name_p): Declare.
+ * defs.h (make_cleanup_dyn_string_delete): Declare.
+ * utils.c: #include "dyn-string.h".
+ (do_dyn_string_delete, make_cleanup_dyn_string_delete): New functions.
+ * cli/cli-cmds.c: #include "dyn-string.h".
+ (argv_to_dyn_string, valid_command_p, alias_command): New functions.
+ (init_cli_cmds): Add new command.
+ * cli/cli-decode.c (valid_user_defined_cmd_name_p): New function.
+
+2011-10-09 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix compatibility with older GCCs.
+ * dwarf2loc.c (dwarf_expr_reg_to_entry_parameter): Initialize parameter.
+ * stack.c (read_frame_arg): Initialize val_deref.
+
+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.
+