2009-02-06 Pedro Alves <pedro@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index aab098d3f3679edbec605a61e44e0fcf23e72920..56496fd49d6718708e088d927cd1fec71a215f1f 100644 (file)
@@ -1,3 +1,83 @@
+2009-02-06  Pedro Alves  <pedro@codesourcery.com>
+
+       * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO.
+       * infrun.c (siginfo_value_read, siginfo_value_write): New.
+       (siginfo_value_funcs): New.
+       (siginfo_make_value): New.
+       (_initialize_infrun): Create the $_siginfo convenience variable.
+       * gdbtypes.h (append_composite_type_field_aligned): Declare.
+       * gdbtypes.c (append_composite_type_field): Rename to...
+       (append_composite_type_field_aligned): ... this.  Add ALIGNMENT
+       argument.  Handle it.
+       (append_composite_type_field): Rewrite on top of
+       append_composite_type_field_aligned.
+       * value.h (internalvar_make_value): New typedef.
+       (struct internalvar) <make_value>: New field.
+       (create_internalvar_type_lazy): Declare.
+       * value.c (create_internalvar): Clear make_value.
+       (create_internalvar_type_lazy): New.
+       (value_of_internalvar): If make_value is set use it.
+       (preserve_values): Skip internal variables that don't have a
+       value.
+       * gdbarch.sh (get_siginfo_type): New.
+       * gdbarch.h, gdbarch.c: Regenerate.
+
+       * linux-tdep.h, linux-tdep.c: New.
+       * amd64-linux-tdep.c: Include "linux-tdep.h".
+       (amd64_linux_init_abi): Register linux_get_siginfo_type and
+       linux_get_siginfo_mapper.
+       * i386-linux-tdep.c: Include "linux-tdep.h".
+       (i386_linux_init_abi): Register linux_get_siginfo_type and
+       linux_get_siginfo_mapper.
+       * arm-linux-tdep.c: Include "linux-tdep.h".
+       (i386_linux_init_abi): Register linux_get_siginfo_type and
+       linux_get_siginfo_mapper.
+
+       * linux-nat.c (linux_xfer_siginfo): New.
+       (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
+       * remote.c (PACKET_qXfer_siginfo_read)
+       (PACKET_qXfer_siginfo_write): New.
+       (feature remote_protocol_features): Add "qXfer:siginfo:read" and
+       "qXfer:siginfo:write" features.
+       (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO.
+       (_initialize_remote): Add "set/show remote read-siginfo-object"
+       and "set/show remote write-siginfo-object" commands.
+
+       * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o.
+       (HFILES_NO_SRCDIR): Add linux-tdep.h.
+       (ALLDEPFILES): Add linux-tdep.c.
+       
+       * configure.tgt (arm*-*-linux* | arm*-*-uclinux*)
+       (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to
+       gdb_target_obs.
+
+2009-02-06  Jim Blandy  <jimb@codesourcery.com>
+           Daniel Jacobowitz  <dan@codesourcery.com>
+           Vladimir Prus  <vladimir@codesourcery.com>
+           Pedro Alves  <pedro@codesourcery.com>
+
+       * defs.h (enum lval_type): New value: lval_computed.
+       * value.h (struct lval_funcs): New type.
+       (allocate_computed_value, value_computed_funcs)
+       (value_computed_closure): New declarations.
+       * value.c (struct value): Add a structure to the location union
+       for computed lvalues, containing 'funcs' and 'closure' members.
+       (allocate_computed_value, value_computed_funcs)
+       (value_computed_closure): New functions.
+       (value_free): For computed lvalues, call the closure's
+       'free_closure' function before freeing the value itself.
+       (value_copy): If we're copying an lval_computed value, call the
+       closure's 'copy_closure' function.
+       (set_value_component_location): If the original value is a
+       computed lvalue, then call the closure's 'copy_closure' function.
+       (value_of_internalvar): If an internal variable's value is a
+       computed lvalue, make retrieving its value produce an equivalent
+       computed lvalue.
+       * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling
+       their read function.
+       (value_assign): Assign to computed lvalues by calling their write
+       function.
+
 2009-02-06  Pedro Alves  <pedro@codesourcery.com>
 
        * linux-nat.c (linux_nat_wait): Adjust.
This page took 0.023996 seconds and 4 git commands to generate.