Add xmethod interface to the extension language API.
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 5e428f51e99d0091d3411e3fcb5359f4a370da9d..0f87a60d0cdbdc776dcef894edd3221ca46b0f1f 100644 (file)
@@ -1,3 +1,149 @@
+2014-06-03  Siva Chandra Reddy  <sivachandra@google.com>
+
+       * defs.h (enum lval_type): New enumerator "lval_xcallable".
+       * extension-priv.h (struct extension_language_ops): Add the
+       xmethod interface.
+       * extension.c (new_xmethod_worker, clone_xmethod_worker,
+       get_matching_xmethod_workers, get_xmethod_argtypes,
+       invoke_xmethod, free_xmethod_worker,
+       free_xmethod_worker_vec): New functions.
+       * extension.h: #include "common/vec.h".
+       New function declarations.
+       (struct xmethod_worker): New struct.
+       (VEC (xmethod_worker_ptr)): New vector type.
+       (xmethod_worker_ptr): New typedef.
+       (xmethod_worker_vec): Likewise.
+       * gdbtypes.c (gdbtypes_post_init): Initialize "xmethod" field of
+       builtin_type.
+       * gdbtypes.h (enum type_code): New enumerator TYPE_CODE_XMETHOD.
+       (struct builtin_type): New field "xmethod".
+       * valarith.c (value_ptradd): Assert that the value argument is not
+       lval_xcallable.
+       * valops.c (value_must_coerce_to_target): Return 0 for
+       lval_xcallable values.
+       * value.c (struct value): New field XM_WORKER in the field
+       LOCATION.
+       (value_address, value_raw_address): Return 0 for lval_xcallable
+       values.
+       (set_value_address): Assert that the value is not an
+       lval_xcallable.
+       (value_free): Free the associated xmethod worker when freeing
+       lval_xcallable values.
+       (set_value_component_location): Assert that the WHOLE value is not
+       lval_xcallable.
+       (value_of_xmethod, call_xmethod): New functions.
+       * value.h: Declare "struct xmethod_worker".
+       Declare new functions value_of_xmethod, call_xmethod.
+
+2014-06-03  Joel Brobecker  <brobecker@adacore.com>
+           Pedro Alves  <palves@redhat.com>
+
+       PR breakpoints/17000
+       * breakpoint.c (find_non_raw_software_breakpoint_inserted_here):
+       New function, extracted from software_breakpoint_inserted_here_p.
+       (software_breakpoint_inserted_here_p): Replace factored out code
+       by call to find_non_raw_software_breakpoint_inserted_here.
+       (bp_target_info_copy_insertion_state): New function.
+       (bkpt_insert_location): Handle the case of a single-step
+       breakpoint already inserted at the same address.
+       (bkpt_remove_location): Handle the case of a single-step
+       breakpoint still inserted at the same address.
+       (deprecated_insert_raw_breakpoint): Handle the case of non-raw
+       breakpoint already inserted at the same address.
+       (deprecated_remove_raw_breakpoint): Handle the case of a
+       non-raw breakpoint still inserted at the same address.
+       (find_single_step_breakpoint): New function, extracted from
+       single_step_breakpoint_inserted_here_p.
+       (find_single_step_breakpoint): New function,
+       factored out from single_step_breakpoint_inserted_here_p.
+       (single_step_breakpoint_inserted_here_p): Reimplement.
+
+2014-06-03  Brad Mouring  <bmouring@ni.com>  (tiny patch)
+
+       Pushed by Joel Brobecker  <brobecker@adacore.com>
+       * source.c (show_substitute_path_command): Fix display of matching
+       substitution rules.
+
+2014-06-03  Gary Benson  <gbenson@redhat.com>
+
+       * gnu-v2-abi.c (gnuv2_value_rtti_type): Use gdb_demangle.
+
+2014-06-02  Doug Evans  <xdje42@gmail.com>
+
+       Add parameter support for Guile.
+       * Makefile.in (SUBDIR_GUILE_OBS): Add scm-param.o.
+       (SUBDIR_GUILE_SRCS): Add scm-param.c.
+       (scm-param.o): New rule.
+       * guile/guile-internal.h (gdbscm_gc_dup_argv): Declare.
+       (gdbscm_misc_error): Declare.
+       (gdbscm_canonicalize_command_name): Declare.
+       (gdbscm_scm_to_host_string): Declare.
+       (gdbscm_scm_from_host_string): Declare.
+       (gdbscm_initialize_parameters): Declare.
+       * guile/guile.c (initialize_gdb_module): Call
+       gdbscm_initialize_parameters.
+       * guile/lib/gdb.scm: Export parameter symbols.
+       * guile/scm-cmd.c (gdbscm_canonicalize_command_name): Renamed from
+       cmdscm_canonicalize_name and made public.  All callers updated.
+       * guile/scm-exception.c (gdbscm_misc_error): New function.
+       * guile/scm-param.c: New file.
+       * guile/scm-string.c (gdbscm_scm_to_string): Add comments.
+       (gdbscm_scm_to_host_string): New function.
+       (gdbscm_scm_from_host_string): New function.
+       * scm-utils.c (gdbscm_gc_dup_argv): New function.
+
+2014-06-02  Doug Evans  <xdje42@gmail.com>
+
+       Add command support for Guile.
+       * Makefile.in (SUBDIR_GUILE_OBS): Add scm-cmd.o.
+       (SUBDIR_GUILE_SRCS): Add scm-cmd.c.
+       (scm-cmd.o): New rule.
+       * guile/guile-internal.h (gdbscm_gc_xstrdup): Declare.
+       (gdbscm_user_error_p): Declare.
+       (gdbscm_parse_command_name): Declare.
+       (gdbscm_valid_command_class_p): Declare.
+       (gdbscm_initialize_commands): Declare.
+       * guile/guile.c (initialize_gdb_module): Call
+       gdbscm_initialize_commands.
+       * guile/lib/gdb.scm: Export command symbols.
+       * guile/lib/gdb/init.scm (%exception-keys): Add gdb:user-error.
+       (throw-user-error): New function.
+       * guile/scm-cmd.c: New file.
+       * guile/scm-exception.c (user_error_symbol): New static global.
+       (gdbscm_user_error_p): New function.
+       (gdbscm_initialize_exceptions): Set user_error_symbol.
+       * scm-utils.c (gdbscm_gc_xstrdup): New function.
+
+2014-06-02  Phil Muldoon  <pmuldoon@redhat.com>
+
+       * top.c (command_loop): Handle comments here...
+       (command_line_input): ... not here.
+
+2014-06-02  Doug Evans  <xdje42@gmail.com>
+
+       Add progspace support for Guile.
+       * Makefile.in (SUBDIR_GUILE_OBS): Add scm-progspace.o.
+       (SUBDIR_GUILE_SRCS): Add scm-progspace.c.
+       (scm-progspace.o): New rule.
+       * guile/guile-internal.h (pspace_smob): New typedef.
+       (psscm_pspace_smob_pretty_printers): Declare.
+       (psscm_pspace_smob_from_pspace): Declare.
+       (psscm_scm_from_pspace): Declare.
+       * guile/guile.c (initialize_gdb_module): Call
+       gdbscm_initialize_pspaces.
+       * guile/lib/gdb.scm: Export progspace symbols.
+       * guile/lib/gdb/printing.scm (prepend-pretty-printer!): Add progspace
+       support.
+       (append-pretty-printer!): Ditto.
+       * guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_progspace):
+       Implement.
+       * guile/scm-progspace.c: New file.
+
+2014-06-03  Alan Modra  <amodra@gmail.com>
+
+       * ppc64-tdep.c (ppc64_standard_linkage8): New.
+       (ppc64_skip_trampoline_code): Recognise ELFv2 stub supporting fusion.
+
 2014-06-02  Doug Evans  <dje@google.com>
 
        Add support for skeletonless type units.
This page took 0.02676 seconds and 4 git commands to generate.