Introduce gdb.FinishBreakpoint in Python
[deliverable/binutils-gdb.git] / gdb / ChangeLog
index 34634e2fe636979951c473cb8f7aeabde62178c0..6065377bcdd6090b6b4014f73a03aaacadd1fca0 100644 (file)
@@ -1,3 +1,54 @@
+2011-12-23  Kevin Pouget  <kevin.pouget@st.com>
+
+       Introduce gdb.FinishBreakpoint in Python.
+       * NEWS: Add entry for FinishBreakpoint.
+       * Makefile.in (SUBDIR_PYTHON_OBS): Add py-finishbreakpoint.o.
+       (SUBDIR_PYTHON_SRCS): Add python/py-finishbreakpoint.c.
+       Add build rule for this file.
+       * infcmd.c (print_return_value): Split to create get_return_value.
+       (get_return_value): New function based on print_return_value. Handle
+       case where stop_registers are not set.
+       * inferior.h (get_return_value): New prototype.
+       * python/py-breakpoint.c (bppy_pending_object): Make non-static.
+       (gdbpy_breakpoint_created): Set is_py_finish_bp is necessary.
+       (struct breakpoint_object): Move to python-internal.h
+       (BPPY_REQUIRE_VALID): Likewise.
+       (BPPY_SET_REQUIRE_VALID): Likewise.
+       (gdbpy_breakpoint_created): Initialize is_finish_bp.
+       (gdbpy_should_stop): Add  pre/post hooks before/after calling stop
+       method.
+       * python/python-internal.h (breakpoint_object_type): Add as extern.
+       (bppy_pending_object): Likewise.
+       (typedef struct breakpoint_object) Removed.
+       (struct breakpoint_object): Moved from py-breakpoint.c.
+       Add field is_finish_bp.
+       (BPPY_REQUIRE_VALID): Moved from py-breakpoint.c.
+       (BPPY_SET_REQUIRE_VALID): Likewise.
+       (frame_object_to_frame_info): New prototype.
+       (gdbpy_initialize_finishbreakpoints): New prototype.
+       (bpfinishpy_is_finish_bp): Likewise.
+       (bpfinishpy_pre_stop_hook): Likewise.
+       (bpfinishpy_post_stop_hook): Likewise.
+       * python/py-finishbreakpoint.c: New file.
+       * python/py-frame.c(frame_object_to_frame_info): Make non-static and
+       accept PyObject instead of frame_object.
+       (frapy_is_valid): Don't cast to frame_object.
+       (frapy_name): Likewise.
+       (frapy_type): Likewise.
+       (frapy_unwind_stop_reason): Likewise.
+       (frapy_pc): Likewise.
+       (frapy_block): Likewise.
+       (frapy_function): Likewise.
+       (frapy_older): Likewise.
+       (frapy_newer): Likewise.
+       (frapy_find_sal): Likewise.
+       (frapy_read_var): Likewise.
+       (frapy_select): Likewise.
+       * python/python.c (gdbpy_is_stopped_at_finish_bp): New noop function.
+       (_initialize_python): Add gdbpy_initialize_finishbreakpoints.
+       * python/python.h: Include breakpoint.h
+       (gdbpy_is_stopped_at_finish_bp): New prototype.
+
 2011-12-22  Tom Tromey  <tromey@redhat.com>
 
        PR python/12533:
This page took 0.026585 seconds and 4 git commands to generate.