* value.c (value_available_contents_eq): Remove redundant local
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 37423ceacc99a17e28073082f014aba9dc2241fa..f026bad267cb566bbe30434f3158679b77392ce6 100644 (file)
@@ -1,3 +1,406 @@
+2011-02-16  Pedro Alves  <pedro@codesourcery.com>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * value.c (value_available_contents_eq): Remove redundant local
+       variables.  Fix available contents comparision.
+       * value.h (value_available_contents_eq): Extend describing
+       comment.
+
+2011-02-16  Yao Qi  <yao@codesourcery.com>
+
+       * thread.c (info_threads_command): Add missing i18n markup and remove
+       trailing newline.
+
+2011-02-15  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       * breakpoint.c (longjmp_names): New variable.
+       (struct breakpoint_objfile_data): New type.
+       (breakpoint_objfile_key): New variable.
+       (msym_not_found): New variable.
+       (msym_not_found_p): New predicate.
+       (get_breakpoint_objfile_data): New function.
+       (create_overlay_event_breakpoint): Check per-objfile cache for
+       symbols first.
+       (create_longjmp_master_breakpoint): Likewise.
+       (create_std_terminate_master_breakpoint): Likewise.
+       (create_exception_master_breakpoint): Likewise.
+       (_initialize_breakpoint): Register per-objfile data key.
+
+2011-02-15  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+       * breakpoint.c ((create_overlay_event_breakpoint): Const-propagate
+       parameter value.
+       (create_longjmp_master_breakpoint): Loop over longjmp names.
+       (create_std_terminate_master_breakpoint): Const-propagate parameter
+       value.
+       (update_breakpoints_after_exec): Adjust.
+       (breakpoint_re_set): Adjust.
+
+2011-02-15  Michael Snyder  <msnyder@vmware.com>
+
+       * thread.c (info_threads_command): Process arg as thread id,
+       or list of thread ids.
+       (thread_find_command): New command.
+       (_initialize_thread): Document argument for info threads.
+       Document 'thread find' command.
+       * NEWS: Document new command "thread find".
+
+2011-02-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * Makefile.in (ACLOCAL_AMFLAGS): Add `-I ../config'.
+       * aclocal.m4: Regenerated with aclocal-1.11.1.
+       * common/configure: Regenerate with autoconf-2.64.
+
+2011-02-15  Ken Werner  <ken.werner@de.ibm.com>
+
+       * opencl-lang.c (build_opencl_types): Set the size of the built-in
+       bool data type to a size of one byte.
+
+2011-02-15  Pedro Alves  <pedro@codesourcery.com>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * target.c (memory_xfer_live_readonly_partial): Document where to
+       look for interface description.
+
+2011-02-15  Yao Qi  <yao@codesourcery.com>
+
+       PR tdep/12352
+       * arm-tdep.c (copy_ldr_str_ldrb_strb): Replace PC with SP in
+       order to store PC value on stack instead of text section.
+
+2011-02-15  Thiago Jung Bauermann  <bauerman@br.ibm.com>
+
+       * rs6000-tdep.c (IS_EFP_PSEUDOREG): Use correct constant for
+       the EFP register set size.
+       (efpr_pseudo_register_read): Use regcache_raw_read_part to read
+       data from the VMX register.
+       (efpr_pseudo_register_write): Use regcache_raw_write_part to read
+       and write data from/to the VMX register.
+
+2011-02-14  Michael Snyder  <msnyder@vmware.com>
+
+       * command.h (enum command_class): New class 'no_set_class', for
+       "show" commands without a corresponding "set" command.
+       * value.c (_initialize_values): Use 'no_set_class' for "show values".
+       * copying.c (_initialize_copying): Ditto for "show copying" and
+       "show warranty".
+       * cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
+       "show version".
+       * cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
+       which there is no corresponding "set" command (eg. "show copying").
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * exec.c (section_table_available_memory): Change `len' parameter
+       type to ULONGEST.
+       * exec.h (section_table_available_memory): Ditto.
+       * value.h (read_value_memory): Rename the `offset' parameter to
+       `embedded_offset'.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * memrange.c (compare_mem_ranges): Mention sort order in
+       describing comment.
+       (normalize_mem_ranges): Add comment.  Fix ra->length calculation.
+       * tracepoint.c (traceframe_available_memory): Extend comment to
+       mention what happens to RESULT when the target does not support
+       the query.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+           Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
+       range.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.c (value_bits_valid, value_bits_synthetic_pointer):
+       No longer handle NULL values.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * exceptions.h (NOT_AVAILABLE_ERROR): New error.
+       * value.c: Include "exceptions.h".
+       (require_available): Throw NOT_AVAILABLE_ERROR instead of a
+       generic error.
+       * cp-abi.c: Include gdb_assert.h.
+       (baseclass_offset): Add `embedded_offset' and `val' parameters.
+       Assert the method is implemented.  Wrap NOT_AVAILABLE_ERROR
+       errors.
+       * cp-abi.h (baseclass_offset): Add `embedded_offset' and `val'
+       parameters.  No longer returns -1 on error.
+       (struct cp_abi_ops) <baseclass_offset>: Add `embedded_offset' and
+       `val' parameters.
+       * cp-valprint.c: Include exceptions.h.
+       (cp_print_value): Handle NOT_AVAILABLE_ERROR errors when fetching
+       the baseclass_offset.  Handle unavailable base classes.  Use
+       val_print_invalid_address.
+       * p-valprint.c: Include exceptions.h.
+       (pascal_object_print_value): Handle NOT_AVAILABLE_ERROR errors
+       when fetching the baseclass_offset.  No longer expect
+       baseclass_offset returning -1.  Handle unavailable base classes.
+       Use val_print_invalid_address.
+       * valops.c (dynamic_cast_check_1): Rename `contents' parameter to
+       `valaddr' parameter, and change its type to gdb_byte pointer.  Add
+       `embedded_offset' and `val' parameters.  Adjust.
+       (dynamic_cast_check_2): Rename `contents' parameter to `valaddr'
+       parameter, and change its type to gdb_byte pointer.  Add
+       `embedded_offset' and `val' parameters.  Adjust.  No longer expect
+       baseclass_offset returning -1.
+       (value_dynamic_cast): Use value_contents_for_printing rather than
+       value_contents.  Adjust.
+       (search_struct_field): No longer expect baseclass_offset returning
+       -1.
+       (search_struct_method): If reading memory from the target is
+       necessary, wrap it in a new value to pass to baseclass_offset.  No
+       longer expect baseclass_offset returning -1.
+       (find_method_list): No longer expect baseclass_offset returning
+       -1.  Use value_contents_for_printing rather than value_contents.
+       * valprint.c (val_print_invalid_address): New function.
+       * valprint.h (val_print_invalid_address): Declare.
+       * gdbtypes.c (is_unique_ancestor_worker): New `embedded_offset'
+       and `val' parameters.  No longer expect baseclass_offset returning
+       -1.  Adjust.
+       * gnu-v2-abi.c: Include "exceptions.h".
+       (gnuv2_baseclass_offset): Add `embedded_offset' and `val'
+       parameters.  Handle unavailable memory.  Recurse through
+       gnuv2_baseclass_offset directly, rather than through
+       baseclass_offset.  No longer returns -1 on not found, instead
+       throw an error.
+       * gnu-v3-abi.c (gnuv3_baseclass_offset): Add `embedded_offset' and
+       `val' parameters.  Adjust.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * tracepoint.c (memrange_sortmerge): Don't merge ranges that are
+       almost but not quite adjacent.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.h (value_entirely_available): Declare.
+       * value.c (value_entirely_available): New function.
+       * c-valprint.c (c_value_print): Don't try fetching the pointer's
+       real type if the pointer is unavailable.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * valops.c (value_repeat): Use read_value_memory instead of
+       read_memory.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.h (value_contents_copy, value_contents_copy_raw): Declare.
+       * value.c (value_contents_copy_raw, value_contents_copy): New
+       functions.
+       (value_primitive_field): Use value_contents_copy_raw instead of
+       memcpy.
+       * valops.c (value_fetch_lazy): Use value_contents_copy instead of
+       memcpy.
+       (value_array, value_slice): Ditto.
+       * valarith.c (value_subscripted_rvalue): Use
+       value_contents_copy_raw instead of memcpy.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       <unavailable> references.
+
+       * valops.c (get_value_at): Use value_from_contents_and_address,
+       avoiding read_memory.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * c-valprint.c (c_val_print): Print a string with unavailable
+       contents as an array.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.h (unpack_bits_as_long): Delete declaration.
+       (unpack_value_bits_as_long): Declare.
+       (unpack_value_field_as_long): Declare.
+       (value_field_bitfield): Declare.
+       * value.c (unpack_bits_as_long): Rename to...
+       (unpack_value_bits_as_long_1): ... this.  Add embedded_offset and
+       value parameters.  Return the extracted result in a new output
+       parameter.  If the value contents are unavailable, return false,
+       otherwise return true.
+       (unpack_value_bits_as_long): New.
+       (unpack_field_as_long): Rename to...
+       (unpack_value_field_as_long_1): ... this.  Add embedded_offset and
+       Add embedded_offset and value parameters.  Return the extracted
+       result in a new output parameter. If the value contents are
+       unavailable, return false, otherwise return true.
+       (unpack_value_field_as_long): New.
+       (unpack_field_as_long_1): New.
+       (unpack_field_as_long): Reimplement as wrapper around
+       unpack_value_field_as_long_1.
+       (value_field_bitfield): New function.
+       * valops.c (value_fetch_lazy): When fetching a bitfield, use
+       unpack_value_bits_as_long.  Mark the value as unavailable, if it
+       is unavailable.
+       * jv-valprint.c (java_print_value_fields): Use
+       value_field_bitfield.
+       * p-valprint.c (pascal_object_print_value_fields): Use
+       value_field_bitfield.
+       * cp-valprint.c (cp_print_value_fields): Use value_field_bitfield.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.c (get_internalvar_integer): Also return the int value of
+       TYPE_CODE_INT INTERNALVAR_VALUE values.
+       (set_internalvar): Don't special case TYPE_CODE_INT.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.c (struct internalvar) <enum internalvar_kind>: Remove
+       INTERNALVAR_POINTER.
+       <pointer>: Delete.
+       (value_of_internalvar): Remove INTERNALVAR_POINTER handling.
+       (set_internalvar): Remove special TYPE_CODE_PTR handling.
+       (preserve_one_internalvar): Remove INTERNALVAR_POINTER handling.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * value.h (value_available_contents_eq): Declare.
+       * value.c (find_first_range_overlap): New function.
+       (value_available_contents_eq): New function.
+       * valprint.c (val_print_array_elements): Use
+       value_available_contents_eq.
+       * ada-valprint.c (val_print_packed_array_elements): Use
+       value_available_contents_eq.
+       * jv-valprint.c (java_value_print): Use
+       value_available_contents_eq.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * target.c (target_read_live_memory): New function.
+       (memory_xfer_live_readonly_partial): New.
+       (memory_xfer_partial): If reading from a traceframe, fallback to
+       reading unavailable read-only memory from read-only regions of
+       live target memory.
+       * tracepoint.c (disconnect_tracing): Adjust.
+       (set_current_traceframe): New, factored out from
+       set_traceframe_number.
+       (set_traceframe_number): Reimplement to only change the traceframe
+       number on the GDB side.
+       (do_restore_current_traceframe_cleanup): Adjust.
+       (make_cleanup_restore_traceframe_number): New.
+       (cur_traceframe_number): New global.
+       (tfile_open): Set cur_traceframe_number to no traceframe.
+       (set_tfile_traceframe): New function.
+       (tfile_trace_find): If looking up a traceframe using any method
+       other than by number, make sure the current tfile traceframe
+       matches gdb's current traceframe.  Update the current tfile
+       traceframe if the lookup succeeded.
+       (tfile_fetch_registers, tfile_xfer_partial)
+       (tfile_get_trace_state_variable_value): Make sure the remote
+       traceframe matches gdb's current traceframe.
+       * remote.c (remote_traceframe_number): New global.
+       (remote_open_1): Set it to -1.
+       (set_remote_traceframe): New function.
+       (remote_fetch_registers, remote_store_registers)
+       (remote_xfer_memory, remote_xfer_partial)
+       (remote_get_trace_state_variable_value): Make sure the remote
+       traceframe matches gdb's current traceframe.
+       (remote_trace_find): If looking up a traceframe using any method
+       other than by number, make sure the current remote traceframe
+       matches gdb's current traceframe.  Update the current remote
+       traceframe if the lookup succeeded.
+       * infrun.c (fetch_inferior_event): Adjust.
+       * tracepoint.h (set_current_traceframe): Declare.
+       (get_traceframe_number, set_traceframe_number): Add describing
+       comments.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       Mark pieces of values as unavailable if the corresponding memory
+       is unavailable.
+
+       * valops.c: Include tracepoint.h.
+       (value_fetch_lazy): Use read_value_memory.
+       (read_value_memory): New.
+       * value.h (read_value_memory): Declare.
+       * dwarf2loc.c (read_pieced_value): Use read_value_memory.
+       * exec.c (section_table_available_memory): New function.
+       * exec.h (section_table_available_memory): Declare.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * Makefile.in (SFILES): Add memrange.c.
+       (HFILES_NO_SRCDIR): Add memrange.h.
+       (COMMON_OBS): Add memrange.o.
+       * memrange.c: New file.
+       * memrange.h: New file.
+       * tracepoint.c: Include memrange.h.
+       (struct mem_range): Delete.
+       (mem_range_s): Delete.
+       (traceframe_available_memory): New function.
+       * tracepoint.h (traceframe_available_memory): Declare.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       * target.h (struct traceframe_info): Forward declare.
+       (enum target_object): Add TARGET_OBJECT_TRACEFRAME_INFO.
+       (struct target_ops) <to_traceframe_info>: New field.
+       (target_traceframe_info): New.
+       * target.c (update_current_target): Inherit and default
+       to_traceframe_info.
+       * remote.c (PACKET_qXfer_traceframe_info): New.
+       (remote_protocol_features): Register qXfer:traceframe-info:read.
+       (remote_xfer_partial): Handle TARGET_OBJECT_TRACEFRAME_INFO.
+       (remote_traceframe_info): New.
+       (init_remote_ops): Install it.
+       (_initialize_remote): Install "set/show remote traceframe-info"
+       commands.
+       * tracepoint.h (parse_traceframe_info): Declare.
+       * tracepoint.c (struct mem_range): New.
+       (mem_range_s): New typedef.
+       (struct traceframe_info): New.
+       (traceframe_info): New global.
+       (free_traceframe_info): New function.
+       (clear_traceframe_info): New function.
+       (start_tracing, tfind_1, set_traceframe_number): Clear traceframe
+       info.
+       (build_traceframe_info): New function.
+       (tfile_traceframe_info): New function.
+       (init_tfile_ops): Install tfile_traceframe_info.
+       (traceframe_info_start_memory, free_result): New functions.
+       (memory_attributes, traceframe_info_elements): New globals.
+       (parse_traceframe_info, get_traceframe_info): New functions.
+       * features/traceframe-info.dtd: New file.
+       * Makefile.in (XMLFILES): Add traceframe-info.dtd.
+
+2011-02-14  Pedro Alves  <pedro@codesourcery.com>
+
+       Base support for <unavailable> value contents.
+
+       * value.h (value_bytes_available): Declare.
+       (mark_value_bytes_unavailable): Declare.
+       * value.c (struct range): New struct.
+       (range_s): New typedef.
+       (ranges_overlap): New function.
+       (range_lessthan): New function.
+       (ranges_contain_p): New function.
+       (struct value) <unavailable>: New field.
+       (value_bytes_available): New function.
+       (mark_value_bytes_unavailable): New function.
+       (require_not_optimized_out): Constify parameter.
+       (require_available): New function.
+       (value_contents_all, value_contents): Require all bytes be
+       available.
+       (value_free): Free `unavailable'.
+       (value_copy): Copy `unavailable'.
+       * valprint.h (val_print_unavailable): Declare.
+       * valprint.c (valprint_check_validity): Rename `offset' parameter
+       to `embedded_offset'.  If printing a scalar, check whether the
+       value chunk is available.
+       (val_print_unavailable): New.
+       (val_print_scalar_formatted): Check whether the value is
+       available.
+       * python/py-prettyprint.c (apply_val_pretty_printer): Refuse
+       pretty-printing unavailable values.
+
 2011-02-13  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        Fix const/volatile qualifiers of C++ types, PR c++/12328.
 
        * Makefile.in (CLEANDIRS): Remove duplicated common dir.
 
+2011-02-11  Yao Qi  <yao@codesourcery.com>
+
+       * common/Makefile.in: Add copyright header.
+
 2011-02-11  Pedro Alves  <pedro@codesourcery.com>
 
        * infrun.c (proceed): Move switching out and in of tfind mode from
        * configure.ac: Add common to sub dir.
        * configure: Regenerate.
 
+2011-02-11  Yao Qi  <yao@codesourcery.com>
+
+       Build libcommon.a.
+
+       * common/Makefile.in: New.
+       * common/configure.ac: New.
+       * common/aclocal.m4: New.
+       * common/configure: Generate.
+
 2011-02-10  Pedro Alves  <pedro@codesourcery.com>
 
        * vec.h (VEC_block_remove): Place VEC_ASSERT_INFO on the right
This page took 0.032856 seconds and 4 git commands to generate.