gdb/
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index a6637561806345c88b2f2239817d0a12123e4b89..2e2ce0968c4dc35ad807fbc72902de96dd234ddf 100644 (file)
@@ -1,3 +1,417 @@
+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.
This page took 0.058162 seconds and 4 git commands to generate.