aboutsummaryrefslogtreecommitdiff
path: root/gdb/python/python-internal.h
AgeCommit message (Collapse)AuthorFilesLines
2012-08-22 Enable readline in Python in a GDB-specific way and block theYit Phang Khoo1-0/+1
standard Python readline module to prevent conflicts with GDB. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-gdb-readline.o. (SUBDIR_PYTHON_SRCS): Add python/py-gdb-readline.c. (py-gdb-readline.o): Add rule to compile python/py-gdb-readline.c. * python/py-gdb-readline.c: New file. * python/python-internal.h (gdbpy_initialize_gdb_readline): New prototype. * python/python.c (_initialize_python): Call gdbpy_initialize_gdb_readline.
2012-02-17 PR python/12070:Tom Tromey1-0/+2
* python/py-event.c (event_object_getset): New global. (event_object_type): Reference it. * python/py-type.c (field_object_getset): New global. (field_object_type): Reference it. * python/python-internal.h (gdb_py_generic_dict): Declare. * python/py-utils.c (gdb_py_generic_dict): New function. testsuite/gdb * gdb.python/py-events.py (exit_handler): Add test for 'dir'. * gdb.python/py-events.exp: Check 'dir' output. * gdb.python/py-type.exp (test_fields): Add test for 'dir'.
2012-02-07 PR python/12027:Tom Tromey1-0/+1
* python/python-internal.h (frame_object_type): Declare. * python/py-symbol.c (sympy_needs_frame): New function. (sympy_value): New function. (symbol_object_getset): Add "needs_frame". (symbol_object_methods): Add "value". * python/py-frame.c (frame_object_type): No longer static. gdb/doc * gdb.texinfo (Symbols In Python): Document Symbol.needs_frame and Symbol.value. gdb/testsuite * gdb.python/py-symbol.exp: Test Symbol.needs_frame and Symbol.value. * gdb.python/py-symbol.c (qq): Set default value.
2012-01-26gdb/Jan Kratochvil1-2/+2
Do not open script filenames twice. * cli/cli-cmds.c (source_script_from_stream): Pass to source_python_script also STREAM. * python/py-auto-load.c (source_section_scripts): Pass to source_python_script_for_objfile also STREAM. (auto_load_objfile_script): Pass to source_python_script_for_objfile also INPUT. * python/python-internal.h (source_python_script_for_objfile): New parameter file, rename parameter file to filename. * python/python.c (python_run_simple_file): Call PyRun_SimpleFile instead if !_WIN32. Update the function comment. (source_python_script, source_python_script_for_objfile) (source_python_script): New parameter file, rename parameter file to filename. Pass FILENAME to python_run_simple_file. * python/python.h (source_python_script): New parameter file, rename parameter file to filename.
2012-01-04Copyright year update in most files of the GDB Project.Joel Brobecker1-1/+1
gdb/ChangeLog: Copyright year update in most files of the GDB Project.
2011-12-23 Introduce gdb.FinishBreakpoint in PythonKevin Pouget1-2/+48
* 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. doc/ * gdb.texinfo (Finish Breakpoints in Python): New subsection. (Python API): Add menu entry for Finish Breakpoints. testsuite/ * Makefile.in (EXECUTABLES): Add py-finish-breakpoint and py-finish-breakpoint2 (MISCALLANEOUS): Add py-events-shlib.so and py-events-shlib-nodebug.so * gdb.python/py-breakpoint.exp (mult_line): Define and use variable instead of line number. * gdb.python/py-finish-breakpoint.c: New file. * gdb.python/py-finish-breakpoint.exp: New file. * gdb.python/py-finish-breakpoint.py: New file. * gdb.python/py-finish-breakpoint2.cc: New file. * gdb.python/py-finish-breakpoint2.exp: New file. * gdb.python/py-finish-breakpoint2.py: New file.
2011-10-27 * cli/cli-cmds.c (source_script_with_search): Pass full path toDoug Evans1-1/+1
source_script_from_stream if it may have been found on the search path. * python/py-auto-load.c (source_section_scripts): Pass full path to source_python_script_for_objfile. * python/python.c (source_python_script): Delete stream parameter. All callers updated. (source_python_script_for_objfile): Ditto. * python/python-internal.h (source_python_script_for_objfile): Update. * python/python.h (source_python_script): Update. testsuite/ * gdb.python/python.exp: Test source -s.
2011-10-202011-10-20 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-2/+3
PR python/12656 * python/py-frame.c (frapy_read_var): Use const struct *block. * python/py-type.c (typy_lookup_typename): Likewise. (typy_lookup_type): Likewise. (typy_legacy_template_argument): Likewise. (typy_template_argument): Likewise. (gdbpy_lookup_type): Likewise. * python/py-symbol.c (gdbpy_lookup_symbol): Likewise. * python/py-block.c (blpy_block_object): Likewise. (blpy_iter): Likewise. (blpy_get_start): Likewise. (blpy_get_end): Likewise. (blpy_get_function): Likewise. (blpy_get_superblock): Likewise. (set_block): Likewise. (block_to_block_object): Likewise. (block_object_to_block): Likewise. (blpy_is_valid): Likewise. (blpy_get_global_block): New function. (blpy_get_static_block): New function. (blpy_is_global): New function. (blpy_is_static): New function. * blockframe.c (block_innermost_frame): Likewise. * valops.c (value_of_variable): Likewise. * frame.h: Update prototypes. * python/python-internal.h: Likewise. * value.h: Likewise. 2011-10-20 Phil Muldoon <pmuldoon@redhat.com> PR python/12656 * gdb.texinfo (Blocks In Python): Document is_static, is_global, global_block, static_block function. 2011-10-20 Phil Muldoon <pmuldoon@redhat.com> PR python/12656 * gdb.python/py-block.exp: Add is_global, is_static, static_block, global_block tests.
2011-10-07 Allow Python notification of new object-file loadings.Kevin Pouget1-0/+1
* Makefile.in (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c. (SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o. Add build rule for this file. * python/py-event.h (emit_new_objfile_event): New prototype. (newobjfile): New Python event emitter. * python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to Python event registry. * python/py-inferior.c: Include objfiles.h (python_new_objfile): New function. (gdbpy_initialize_inferior): Add python_new_objfile to the new objfile observers. * python/py-newobjfileevent.c: New file. * python-internal.h (gdbpy_initialize_new_objfile_event): New prototype. * python/python.c (_initialize_python): Add gdbpy_initialize_new_objfile_event call. * NEWS: Add item for new Python event "gdb.newobjfile" 2011-10-06 Kevin Pouget <kevin.pouget@st.com> Allow Python notification of new object-file loadings. * gdb.texinfo (Events In Python): Document `gdb.NewObjFileEvent' event type. 2011-10-06 Kevin Pouget <kevin.pouget@st.com> Allow Python notification of new object-file loadings. * gdb.python/py-events.exp: Test newobjfile event. * gdb.python/py-events.py: Register newobjfile callback. * gdb.python/py-events.c: Add call to shared library * gdb.python/py-events-shlib.c: New file.
2011-09-28* python/py-type.c (make_fielditem, typy_field_names, typy_items)Paul Koning1-0/+2
(typy_length, typy_get, typy_has_key, typy_make_iter) (typy_iterkeys, typy_iteritems, typy_itervalues, typy_iter) (typy_iterator_iter, typy_iterator_iternext) (typy_iterator_dealloc): New functions to implement standard Python mapping methods on gdb.Type object. (gdb.TypeIterator): New Python type. * python/python-internal.h (gdbpy_iter_kind): New enum. * doc/gdb.texinfo (gdb.Type): Document field access by dictionary key syntax.
2011-09-152011-09-15 Kevin Pouget <kevin.pouget@st.com>Kevin Pouget1-0/+1
PR Python/12692 Add gdb.selected_inferior() to Python interface. * python/py-inferior.c (GdbMethods): New Python method definition. doc: PR Python/12692 Add gdb.selected_inferior() to Python interface. * gdb.texinfo (Inferiors In Python): Describe new gdb.selected_inferior() function. testsuite: PR Python/12692 Add gdb.selected_inferior() to Python interface. * gdb.python/py-inferior.exp: Add testcase for gdb.selected_inferior().
2011-09-08 * py-cmd.c: Some minor formatting fixes.Doug Evans1-1/+1
(gdbpy_parse_command_name): Rename text arg to name, make const. All callers updated. * python-internal.h (gdbpy_parse_command_name): Update.
2011-06-28 * python/python-internal.h (PY_SSIZE_T_CLEAN): Define.Tom Tromey1-0/+3
2011-05-272011-05-27 Pedro Alves <pedro@codesourcery.com>Pedro Alves1-0/+1
gdb/ * defs.h (struct thread_info, struct inferior): Delete forward declarations. * breakpoint.h (struct thread_info): New forward declaration. * observer.sh (struct inferior): New forward declaration. * python/python-internal.h (struct inferior): New forward declaration.
2011-02-28 * python/python.c (gdbpy_value_cst): New global.Tom Tromey1-0/+1
(_initialize_python): Initialize it. * python/python-internal.h (gdbpy_value_cst): Declare. * python/py-value.c (convert_value_from_python): Use gdbpy_value_cst.
2011-02-22 Add gdb.lookup_global_symbol python function.Doug Evans1-0/+2
* NEWS: Add entry. * python/py-symbol.c (gdbpy_lookup_global_symbol): New function. * python/python-internal.h (gdbpy_lookup_global_symbol): Declare it. * python/python.c (GdbMethods): Add entry for lookup_global_symbol. doc/ * gdb.texinfo (Symbols In Python): Document lookup_global_symbol. Clarify behaviour of lookup_symbol when `block' argument is omitted, add description of result, fix @defun formatting. testsuite/ * gdb.python/py-symbol.exp: Test lookup_global_symbol.
2011-02-04Add Python support for GDB events.Sami Wagiaalla1-0/+18
2011-02-04 Sami Wagiaalla <swagiaal@redhat.com> * gdb.python/py-evthreads.c: New file. * gdb.python/py-evthreads.exp: New file. * gdb.python/py-events.py: New file. * gdb.python/py-events.exp: New file. * gdb.python/py-events.c: New file. 2011-02-04 Sami Wagiaalla <swagiaal@redhat.com> Oguz Kayral <oguzkayral@gmail.com> * python/py-inferior.c (python_on_normal_stop): New function. (python_on_resume): New function. (python_inferior_exit): New function. (gdbpy_initialize_inferior): Add normal_stop, target_resumed, and inferior_exit observers. * python/py-evtregistry.c: New file. * python/py-threadevent.c : New file. * python/py-event.c: New file. * python/py-evts.c: New file. * python/py-continueevent.c: New file. * python/py-bpevent.c: New file. * python/py-signalevent.c: New file. * python/py-exetiedevent.c: New file. * python/py-breakpoint.c (gdbpy_breakpoint_from_bpstats): New function. Move struct breakpoint_object from here... * python/python-internal.h: ... to here. * python/py-event.h: New file. * python/py-events.h: New file. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpointstopevent.o, py-continueevent.o, py-event.o, py-eventregistry.o, py-events.o, py-exitedevent.o, py-signalstopevent.o, and py-stopevent.o. (SUBDIR_PYTHON_SRCS): Add py-breakpointstopevent.c, py-continueevent.c, py-event.c, py-eventregistry.c, py-events.c, py-exitedevent.c, py-signalstopevent.c, and py-stopevent.c. Add build rules for all the above.
2011-01-31do not use python<version> subdir when including Python .h fileJoel Brobecker1-13/+5
This is preparation work for being able to build GDB with Python support on MinGW. So far, the "python<version>" subdirectory needs to be specified when including a Python header file. In order to do that, we have some special configury that tweaks the include path returned by python-config.py such that the use of the subdirectory in the include is necessary. This was done in order to protect ourselves from possible filename conflicts, since some of the filenames chosen by Python were a little generic. The problem is that this cannot work with a standard Python install on MinGW systems. On such systems, the .h files are located in <python_prefix>/include. So, in preparation for allowing us to build GDB on MinGW with Python support enabled, this patch changes the requirement to provide the "python<version>" subdirectory in the include directive. The positive consequence is that we no longer need to have a set of #include directives for each version of Python, since the include directive is now the same for all versions of Python. However, the downside is that we are losing the level of protection we were trying to achieve by forcing the subdirectory in the include directive. In order to reduce a bit the consequences of a possible conflict, this patch also changes the location where the -I/path/to/python switch goes, to be last in the list (suggested by Doug Evans). One last change is the fact that we are now including Python.h and all other Python include headers using angle brackets rather than double-quotes. This fixes a problem on case-insensitive systems where #include "Python.h" causes our gdb/python/python.h header to be included instead of Python's <Python.h> header. gdb/ChangeLog: * configure.ac: Remove fallback behavior for building against Python. Remove tweaking of Python include path. Add PYTHON_CPPFLAGS and PYTHON_LIBS substitution. (AC_TRY_LIBPYTHON): Adjust program used in linking test. If link is successful, set PYTHON_CPPFLAGS and PYTHON_LIBS. Always restore CPPFLAGS and LIBS after linking test. * configure: Regenerated. * Makefile.in (INTERNAL_CPPFLAGS): Add @PYTHON_CPPFLAGS@. (INSTALLED_LIBS, CLIBS): Add @PYTHON_LIBS@. * python/python-internal.h: Adjust includes of Python .h files.
2011-01-26 * python/python.c (gdbpy_solib_name): Use gdb_py_longest andTom Tromey1-0/+30
GDB_PY_LL_ARG. * python/python-internal.h (GDB_PY_LL_ARG, GDB_PY_LLU_ARG): New macros. (gdb_py_longest, gdb_py_ulongest): New typedefs. (gdb_py_long_from_longest, gdb_py_long_from_ulongest) (gdb_py_long_as_ulongest): New defines. (gdb_py_object_from_longest, gdb_py_object_from_ulongest) (gdb_py_int_as_long): Declare. * python/py-value.c (valpy_lazy_string): Use gdb_py_longest, GDB_PY_LL_ARG, gdb_py_object_from_longest. (valpy_long): Add comment. * python/py-utils.c (get_addr_from_python): Use gdb_py_long_as_ulongest. Handle overflow properly. (gdb_py_object_from_longest): New function. (gdb_py_object_from_ulongest): Likewise. (gdb_py_int_as_long): Likewise. * python/py-type.c (typy_array): Use gdb_py_int_as_long. * python/py-symtab.c (salpy_get_pc): Use gdb_py_long_from_ulongest. (salpy_get_line): Use PyInt_FromLong. * python/py-param.c (set_parameter_value): Use gdb_py_int_as_long. * python/py-lazy-string.c (stpy_get_address): Use gdb_py_long_from_ulongest. * python/py-frame.c (frapy_pc): Use gdb_py_long_from_ulongest. * python/py-cmd.c (cmdpy_completer): Use gdb_py_int_as_long. * python/py-breakpoint.c (bppy_set_thread): Use gdb_py_int_as_long. (bppy_set_task): Likewise. (bppy_set_ignore_count): Likewise. (bppy_set_hit_count): Likewise. * python/py-block.c (blpy_get_start): Use gdb_py_object_from_ulongest. (blpy_get_end): Likewise. (gdbpy_block_for_pc): Use gdb_py_ulongest and GDB_PY_LLU_ARG.
2011-01-06gdbTom Tromey1-0/+1
PR python/12367: * NEWS: Add item. * python/python.c (GdbMethods): Add "newest_frame" method. * python/python-internal.h (gdbpy_newest_frame): Declare. * python/py-frame.c (gdbpy_newest_frame): New function. gdb/doc * gdb.texinfo (Frames In Python): Document gdb.newest_thread. gdb/testsuite * gdb.python/py-frame.exp: Test gdb.newest_frame.
2011-01-062011-01-05 Michael Snyder <msnyder@vmware.com>Michael Snyder1-1/+2
* cli/cli-cmds.c: Shorten lines of >= 80 columns. * cli/cli-decode.c: Ditto. * cli/cli-dump.c: Ditto. * cli/cli-logging.c: Ditto. * cli/cli-script.c: Ditto. * cli/cli-setshow.c: Ditto. * common/signals.c: Ditto. * mi/mi-cmd-break.c: Ditto. * mi/mi-cmd-disas.c: Ditto. * mi/mi-cmd-stack.c: Ditto. * mi/mi-cmd-var.c: Ditto. * mi/mi-cmds.c: Ditto. * mi/mi-common.h: Ditto. * mi/mi-console.c: Ditto. * mi/mi-interp.c: Ditto. * mi/mi-main.c: Ditto. * osf-share/cma_attr.c: Ditto. * osf-share/cma_deb_core.h: Ditto. * osf-share/cma_debug_client.h: Ditto. * osf-share/cma_handle.h: Ditto. * osf-share/cma_mutex.h: Ditto. * osf-share/cma_stack_int.h: Ditto. * osf-share/cma_tcb_defs.h: Ditto. * python/py-auto-load.c: Ditto. * python/py-breakpoint.c: Ditto. * python/py-cmd.c: Ditto. * python/py-frame.c: Ditto. * python/py-objfile.c: Ditto. * python/py-param.c: Ditto. * python/py-progspace.c: Ditto. * python/py-symbol.c: Ditto. * python/py-value.c: Ditto. * python/python-internal.h: Ditto. * python/python.c: Ditto. * tui/tui-data.c: Ditto. * tui/tui-disasm.c: Ditto. * tui/tui-hooks.c: Ditto. * tui/tui-io.c: Ditto. * tui/tui-layout.c: Ditto. * tui/tui-regs.c: Ditto. * tui/tui-source.c: Ditto. * tui/tui-stack.c: Ditto. * tui/tui-win.c: Ditto. * tui/tui-windata.c: Ditto. * tui/tui-winsource.c: Ditto.
2011-01-01run copyright.sh for 2011.Joel Brobecker1-1/+1
2010-11-12gdbTom Tromey1-7/+11
* varobj.c (value_get_print_value): Rearrange. Pass stream to apply_varobj_pretty_printer. * c-lang.c: Include exceptions.h. (c_get_string): Throw MEMORY_ERROR when appropriate. * python/py-prettyprint.c (enum string_repr_result): New. (print_stack_unless_memory_error): New function. (print_string_repr): Change return type. Use print_stack_unless_memory_error. (print_children): Use print_stack_unless_memory_error. (apply_val_pretty_printer): Update. Don't print children if string representation threw an exception. (apply_varobj_pretty_printer): Add 'stream' argument. Use print_stack_unless_memory_error. * python/python.c (gdbpy_gdb_error, gdbpy_gdb_memory_error): New globals. (_initialize_python): Initialize them. * python/python-internal.h (GDB_PY_HANDLE_EXCEPTION): Use gdbpy_convert_exception. (GDB_PY_SET_HANDLE_EXCEPTION): Likewise. (gdbpy_gdb_error, gdbpy_gdb_memory_error): Declare. (gdbpy_convert_exception): Declare. (apply_varobj_pretty_printer): Update. * python/py-utils.c (gdbpy_convert_exception): New function. gdb/doc * gdb.texinfo (Basic Python): Update. Add xref. (Exception Handling): Document new exception classes. (Types In Python): Update. (Frames In Python): Update. gdb/testsuite * gdb.python/py-prettyprint.c (main): Add new 'ns2' local. * gdb.python/py-prettyprint.exp (run_lang_tests): Add test for MemoryError. * gdb.python/python.exp (gdb_py_test_multiple): Update exception type. * gdb.python/py-value.exp (test_value_in_inferior): Add test for MemoryError. (test_subscript_regression): Update exception type.
2010-10-26fix typo in _FILE_OFFSET_BITS commentJoel Brobecker1-1/+1
This fixes a typo that MichaelS noticed in a patch I submitted and forgot to fix. gdb/ChangeLog: * (_FILE_OFFSET_BITS): Fix typo in comment.
2010-10-26Fix build failures with python support on sparc-solarisJoel Brobecker1-3/+7
There were two types of errors, mostly compiler warnings: 1. _FILE_OFFSET_BITS being redefined in pyconfig.h; This is a problem we're familiar with, having seen similar issues on GNU/Linux systems. I used a similar solution. 2. GCC 4.5 complains that calls to PyEval_InitThreads and PyEval_ReleaseLock have no effect. This is because our Python is built without thread support, leading us to use the dummy #define in python-internal.h which just gets replaced by `0'. Since this function returns void (checked versions 2.4 and 2.7), I simply removed the 0. gdb/ChangeLog: python/python-internal.h (_FILE_OFFSET_BITS): Undefine. (PyEval_InitThreads): Remove duplicate. Define as nothing. (PyEval_ReleaseLock): Define as nothing.
2010-10-15 PR python/11948:Tom Tromey1-3/+3
* varobj.c (value_get_print_value): Use val_print_string to print lazy strings. * python/py-prettyprint.c (print_string_repr): Use val_print_string to print lazy strings. Fix cleanup logic. (print_children): Likewise. * python/python-internal.h (gdbpy_extract_lazy_string): Update. * python/py-lazy-string.c (gdbpy_extract_lazy_string): Rewrite. Change return type to 'void', add 'addr' argument. * value.h (val_print_string): Update. * valprint.c (val_print_string): Add 'encoding' argument. * printcmd.c (print_formatted): Update. * p-valprint.c (pascal_val_print): Update. * m2-valprint.c (print_unpacked_pointer): Update. (m2_print_array_contents): Likewise. * jv-valprint.c (java_value_print): Update. * f-valprint.c (f_val_print): Update. * c-valprint.c (c_val_print): Update. * auxv.c (fprint_target_auxv): Update.
2010-08-13 * python/python-internal.h (gdbpy_get_hook_function): Don'tTom Tromey1-1/+0
declare.
2010-07-06 * configure, config.in: Rebuild.Tom Tromey1-0/+3
* configure.ac (HAVE_LIBPYTHON2_7): New define. * python/python-internal.h: Handle HAVE_LIBPYTHON2_7.
2010-06-30Fix build failure with Python installed in non-system location.Joel Brobecker1-1/+4
The debugger fails to build when configure with --python-python=<path> where <path> is a non-system location. The reason is a warning made fatal due to the definition of _XOPEN_SOURCE inside pyconfig.h. This is exactly the same problem as with _POSIX_C_SOURCE, handled in python-internal.h as follow: | /* /usr/include/features.h on linux systems will define _POSIX_C_SOURCE | if it sees _GNU_SOURCE (which config.h will define). | pyconfig.h defines _POSIX_C_SOURCE to a different value than | /usr/include/features.h does causing compilation to fail. | To work around this, undef _POSIX_C_SOURCE before we include Python.h. */ | #undef _POSIX_C_SOURCE This patch fixes this problem the same way. 2010-06-30 Joel Brobecker <brobecker@adacore.com> * python/python-internal.h (_XOPEN_SOURCE): Undefine before including Python.h.
2010-06-282010-06-28 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-0/+24
Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * value.c (pack_unsigned_long): New function. (value_from_ulongest): New function. * value.h (value_from_ulongest): Declare. * python/python.c (_initialize_python): Call gdbpy_initialize_thread and gdbpy_initialize_inferior. * python/python-internal.h: Define thread_object. (gdbpy_inferiors, gdbpy_selected_thread) (frame_info_to_frame_object, create_thread_object) (find_thread_object, find_inferior_object) (gdbpy_initialize_thread, gdbpy_initialize_inferiors) (gdbpy_is_value_object, get_addr_from_python): Declare. * python/py-value.c (builtin_type_upylong): Define. (convert_value_from_python): Add logic for ulongest. (gdbpy_is_value_object): New function. * python/py-utils.c (get_addr_from_python): New function. * python/py-frame.c (frame_info_to_frame_object): Return a PyObject. (gdbpy_selected_frame): Use PyObject over frame_info. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-inferior and py-infthread. (SUBDIR_PYTHON_SRCS): Likewise. (py-inferior.o): New Rule. (py-infthread.o): New Rule. * python/py-inferior.c: New File. * python/py-infthread.c: New File. 2010-06-28 Phil Muldoon <pmuldoon@redhat.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.texinfo (Inferiors In Python): New node. * gdb.texinfo (Threads In Python): New node. 2010-06-28 Phil Muldoon <pmuldoon@redhat.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.python/py-inferior.c: New File. * gdb.python/py-infthread.c: New File. * gdb.python/py-inferior.exp: New File. * gdb.python/py-infthread.exp: New File.
2010-06-04 Add support for enabling/disabling individual pretty-printers.Doug Evans1-0/+1
* python/py-prettyprint.c (search_pp_list): Skip disabled printers. * python/python-internal.h (gdbpy_enabled_cst): Declare. * python/python.c (gdbpy_enabled_cst): Define. (_initialize_python): Initialize gdbpy_enabled_cst. * NEWS: Add entry. doc/ * gdb.texinfo (Python API): New node `Disabling Pretty-Printers'. testsuite/ * gdb.python/py-prettyprint.exp: Add new test for enabled and disabled printers. * gdb.python/py-prettyprint.py (disable_lookup_function): New function. (enable_lookup_function): New function.
2010-05-25 Add python gdb.GdbError and gdb.string_to_argv.Doug Evans1-0/+6
* NEWS: Document them. * python/py-cmd.c (cmdpy_function): Don't print a traceback if the exception is gdb.GdbError. Print a second traceback if there's an error computing the error message. (gdbpy_string_to_argv): New function. * python/py-utils.c (gdbpy_obj_to_string): New function. (gdbpy_exception_to_string): New function. * python/python-internal.h (gdbpy_string_to_argv): Declare. (gdbpy_obj_to_string, gdbpy_exception_to_string): Declare. (gdbpy_gdberror_exc): Declare. * python/python.c (gdbpy_gdberror_exc): New global. (_initialize_python): Initialize gdbpy_gdberror_exc and create gdb.GdbError. (GdbMethods): Add string_to_argv. doc/ * gdb.texinfo (Exception Handling): Document gdb.GdbError. (Commands In Python): Document gdb.string_to_argv. testsuite/ * gdb.python/py-cmd.exp: Add tests for gdb.GdbError and gdb.string_to_argv.
2010-04-292010-04-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-0/+9
Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * Makefile.in (SUBDIR_PYTHON_OBS): Add py-parameter. (SUBDIR_PYTHON_SRCS): Likewise. (py-parameter.o): New rule. * python/py-parameter.c: New file. * python/python-internal.h (gdbpy_initialize_parameter) (gdbpy_parameter, gdbpy_parameter_value) (gdbpy_parse_command_name): Declare. * python/py-cmd.c (parse_command_name): Rename to gdbpy_parse_command_name. (gdbpy_parse_command_name): Accept a starting list parameter and use over cmdlist. (cmdpy_init): Use gdbpy_parse_command_name. * python/python.c (parameter_to_python): Rename to gdbpy_parameter_to_python. Accept enum var_types and value. (gdbpy_parameter): Use gdbpy_parameter_value. (_initialize_python): Call gdbpy_initialize_parameters. 2010-04-29 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-param.exp: New File. 2010-04-29 Phil Muldoon <pmuldoon@redhat.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.texinfo (Parameters In Python): New Node.
2010-04-23 Add support for auto-loading scripts from .debug_gdb_scripts section.Doug Evans1-0/+9
* NEWS: Add entry for .debug_gdb_scripts. * Makefile.in SUBDIR_PYTHON_OBS): Add py-auto-load.o. (SUBDIR_PYTHON_SRCS): Add py-auto-load.c. (py-auto-load.o): New rule. * cli/cli-cmds.c (find_and_open_script): Make externally visible. * cli/cli-cmds.h (find_and_open_script): Update prototype. * python/py-auto-load.c: New file. * python/python-internal.h: #include <stdio.h>. (set_python_list, show_python_list): Declare. (gdbpy_initialize_auto_load): Declare. (source_python_script_for_objfile): Declare. * python/python.c: Remove #include of observer.h. (gdbpy_auto_load): Moved to py-auto-load.c. (GDBPY_AUTO_FILENAME): Ditto. (gdbpy_new_objfile): Delete. (source_python_script_for_objfile): New function. (set_python_list, show_python_list): Make externally visible. (_initialize_python): Move "auto-load" command to py-auto-load.c and observer_attach_new_objfile to py-auto-load.c. doc/ * gdb.texinfo (Python): Move Auto-loading section here ... (Python API): from here. (Auto-loading): Add docs for .debug_gdb_scripts auto-loaded scripts. (Maintenance Commands): Add docs for "maint print section-scripts". testsuite/ * gdb.python/py-section-script.c: New file. * gdb.python/py-section-script.exp: New file. * gdb.python/py-section-script.py: New file.
2010-04-15 * NEWS: Add entry for python program space support.Doug Evans1-1/+6
* Makefile.in (SUBDIR_PYTHON_OBS): Add py-progspace.o. (SUBDIR_PYTHON_SRCS): Add py-progspace.c. (py-progspace.o): New rule. * python/py-prettyprint.c (find_pretty_printer_from_objfiles): New function. (find_pretty_printer_from_progspace): New function. (find_pretty_printer_from_gdb): New function. (find_pretty_printer): Rewrite. * python/py-progspace.c: New file. * python/python-internal.h (program_space): Add forward decl. (pspace_to_pspace_object, pspy_get_printers): Declare. (gdbpy_initialize_pspace): Declare. * python/python.c: #include "progspace.h". (gdbpy_get_current_progspace, gdbpy_progspaces): New functions. (_initialize_python): Call gdbpy_initialize_pspace. (GdbMethods): Add current_progspace, progspaces. doc/ * gdb.texinfo (Python API): Add progspaces section. (Selecting Pretty-Printers): Progspace pretty-printers are searched too. (Progspaces In Python): New section. testsuite/ * gdb.python/py-progspace.c: New file. * gdb.python/py-progspace.exp: New file.
2010-04-092010-04-09 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-0/+15
Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> * breakpoint.c (condition_command): Simplify. Move condition setting code to ... (set_breakpoint_condition): ... here. New function. * breakpoint.h (set_breakpoint_condition): Declare. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpoint. (SUBDIR_PYTHON_SRCS): Likewise. (py-breakpoint.o): New rule. * python/py-breakpoint.c: New file. * python/python-internal.h (gdbpy_breakpoints) (gdbpy_initialize_breakpoints): Declare. (GDB_PY_SET_HANDLE_EXCEPTION) Define. 2010-04-09 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-breakpoint.exp: New File. * gdb.python/py-breakpoint.C: Ditto. 2010-04-09 Phil Muldoon <pmuldoon@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> * gdb.texinfo (Breakpoints In Python): New Node.
2010-03-09 * python/python-internal.h: Include symtab.h.Pierre Muller1-2/+4
2010-02-242010-02-24 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-0/+19
Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * python/python.c (_initialize_python): Call gdbpy_initialize_symtabs, gdbpy_initialize_symbols and gdbpy_initialize_blocks. * python/python-internal.h: Declare struct symbol, block and symtab_and_line. Declare block_object_type and symbol_object_type (gdbpy_lookup_symbol gdbpy_block_for_pc) (symtab_and_line_to_sal_object, symtab_to_symtab_object) (symbol_to_symbol_object, block_to_block_object) (gdbpy_initialize_symtabs,gdbpy_initialize_symbols) (gdbpy_initialize_blocks ): Declare. * python/py-frame.c (frapy_block, frapy_function, frapy_find_sal) (frapy_select): Add methods. (frapy_read_var): Add symbol branch. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-symbol, py-symtab, py-block. (SUBDIR_PYTHON_SRCS): Likewise. (py-symbol.o): New rule. (py-symtab.o): Likewise. (py-block.o): Likewise. * python/py-symbol.c: New file. * python/py-symtab.c: Likewise. * python/py-block.c: Likewise. 2010-02-24 Phil Muldoon <pmuldoon@redhat.com> * Makefile.in: Add py-block and py-symbol. * gdb.python/py-symbol.exp: New File. * gdb.python/py-symtab.exp: New File. * gdb.python/py-block.exp: New File. * gdb.python/py-symbol.c: New File. * gdb.python/py-block.c: New File. 2010-02-24 Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Frames In Python): Add block, find_sal, function and select method descriptions. (Python API): Add Blocks In Python, Symbols in Python and Symbol Tables in Python to menu. (Blocks In Python): New node. (Symbols In Python): New node. (Symbol Tables in Python): New node.
2010-02-17 * python/python-internal.h [!WITH_THREAD] (PyGILState_Release,Ulrich Weigand1-2/+2
PyThreadState_Swap): Avoid "statement with no effect" warning.
2010-01-142010-01-13 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-0/+7
PR python/10705 * python/python-internal.h: Add lazy_string_object_type definition. (create_lazy_string_object, gdbpy_initialize_lazy_string) (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define. * python/py-value.c (valpy_lazy_string): New function. (convert_value_from_python): Add lazy string conversion. * python/py-prettyprint.c (pretty_print_one_value): Check if return is also a lazy string. (print_string_repr): Add lazy string printing branch. (print_children): Likewise. * python/py-lazy-string.c: New file. Implement lazy strings. * python/python.c (_initialize_python): Call gdbpy_initialize_lazy_string. * varobj.c (value_get_print_value): Add lazy string printing branch. Account for encoding. * c-lang.c (c_printstr): Account for new encoding argument. If encoding is NULL, find encoding suited for type, otherwise use user encoding. * language.h (language_defn): Add encoding argument. (LA_PRINT_STRING): Likewise. * language.c (unk_lang_printstr): Update to reflect new encoding argument to language_defn. * ada-lang.h (ada_printstr): Likewise. * c-lang.h (c_printstr): Likewise. * p-lang.h (pascal_printstr); * f-lang.c (f_printstr): Likewise. * m2-lang.c (m2_printstr): Likewise. * objc-lang.c (objc_printstr): Likewise. * p-lang.c (pascal_printstr): Likewise. * scm-lang.c (scm_printstr): Likewise. * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for encoding argument. * ada-valprint.c (ada_printstr): Likewise. * f-valprint.c (f_val_print): Likewise * m2-valprint.c (m2_val_print): Likewise. * p-valprint.c (pascal_val_print): Likewise. * expprint.c (print_subexp_standard): Likewise. * valprint.c (val_print_string): Likewise. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string. (SUBDIR_PYTHON_SRCS): Likewise. (py-lazy-string.o): New rule. 2010-01-13 Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Values From Inferior): Document lazy_string value method. (Python API): Add Lazy strings menu item. (Lazy Strings In Python): New node. 2010-01-13 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/py-value.exp (test_lazy_strings): Add lazy string test. * gdb.python/py-prettyprint.py (pp_ls): New printer. * gdb.python/py-prettyprint.exp (run_lang_tests): Add lazy string test. * gdb.python/py-prettyprint.c: Define lazystring test structure. * gdb.python/py-mi.exp: Add lazy string test.
2010-01-01Update copyright year in most headers.Joel Brobecker1-1/+1
Automatic update by copyright.sh.
2009-07-102009-07-10 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon1-2/+3
* python/python-internal.h (apply_varobj_pretty_printer): Update definition. (python_string_to_target_python_string): Add definition. * python/python-utils.c (unicode_to_encoded_python_string) (unicode_to_target_python_string) (python_string_to_target_python_string): New Functions. * python/python-prettyprint.c (pretty_print_one_value): Likewise. (print_string_repr): Refactor to logic to account for PyObject returned strings. (apply_varobj_pretty_printer): Likewise. * python/python-value.c (valpy_string): Parse length keyword. Use length keyword in LA_GET_STRING. * varobj.c (value_get_print_value): Refactor logic to account for PyObject returned strings. * c-lang.c (c_get_string): If the length parameter is specified, use that. Return value in characters. Update comments. * language.h: Update c_get_string prototype comments. 2009-07-10 Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Values From Inferior): Add length parameter description. 2009-07-10 Phil Muldoon <pmuldoon@redhat.com> * gdb.python/python-prettyprint.c: Add counted null string structure. * gdb.python/python-prettyprint.exp: Print null string. Test for embedded nulls. * gdb.python/python-prettyprint.py (pp_ns): New Function. * gdb.python/python-value.exp (test_value_in_inferior): Add variable length string fetch tests. * gdb.python/python-value.c (main): Add strings for string fetch tests.
2009-07-02 * python/python-internal.h (struct language_defn): Declare.Ulrich Weigand1-1/+7
(python_gdbarch, python_language): Likewise. (ensure_python_env): Add prototype. (make_cleanup_py_restore_gil): Remove prototype. * python/python.c: Include "arch-utils.h", "value.h" and "language.h". (python_gdbarch, python_language): New global variables. (struct python_env): New data type. (ensure_python_env, restore_python_env): New functions. (eval_python_from_control_command): Call ensure_python_env to install current architecture and language. (python_command, gdbpy_new_objfile): Likewise. * python/python-cmd.c: Include "arch-utils.h" and "language.h". (cmdpy_destroyer, cmdpy_function, cmdpy_completer): Call ensure_python_env. * python/python-type.c (clean_up_objfile_types): Likewise. * python/python-objfile.c: Include "language.h". (clean_up_objfile): Call ensure_python_env. * python/python-prettyprint.c (apply_val_pretty_printer): Likewise. (apply_varobj_pretty_printer): Do not call PyGILState_Ensure. * varobj.c (varobj_ensure_python_env): New helper function. (varobj_get_display_hint, update_dynamic_varobj_children, install_default_visualizer, varobj_set_visualizer, free_variable, value_get_print_value): Call it. (value_get_print_value): Add varobj argument instead of pretty printer argument. Update all callers. * python/python-utils.c (py_gil_restore, make_cleanup_py_restore_gil): Remove. * value.h (internal_function_fn): Add GDBARCH and LANGUAGE argument. (call_internal_function): Likewise. * value.c (call_internal_function): Likewise. Pass to handler. * eval.c (evaluate_subexp_standard): Update call. * python/python-function.c: Include "language.h". (fnpy_call): Add GDBARCH and LANGAUAGE arguments and call make_cleanup_python_env. * python/python-value.c (builtin_type_pyint, builtin_type_pyfloat, builtin_type_pylong, builtin_type_pybool, builtin_type_pychar, valpy_str): Use python_gdbarch and python_language instead of current_gdbarch and current_language. * python/python-type.c (typy_lookup_typename): Likewise.
2009-05-28gdbTom Tromey1-0/+8
2009-05-27 Vladimir Prus <vladimir@codesourcery.com> Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * mi/mi-main.c (mi_cmd_list_features): List "python" feature. * varobj.h (varobj_set_visualizer): Declare. (varobj_get_display_hint): Likewise. (varobj_update_result_t) <children_changed, value_installed>: New fields. * mi/mi-cmds.c (mi_cmds): Add var-set-visualizer. * mi/mi-cmds.h (mi_cmd_var_set_visualizer, mi_cmd_var_set_child_range): Declare. * mi/mi-cmd-var.c (mi_cmd_var_set_visualizer): New function. (mi_cmd_var_list_children): Emit display hint. (varobj_update_one): Emit display hint. Handle dynamic children. * python/python.c (GdbMethods): Add "default_visualizer". * python/python-internal.h (apply_varobj_pretty_printer, gdbpy_get_varobj_pretty_printer, gdbpy_get_display_hint): Declare. (gdbpy_default_visualizer): Likewise. * varobj.c: Include python.h, python-internal.h. (PyObject): New typedef. (struct varobj) <children_requested, pretty_printer>: New fields. (varobj_create): Call install_default_visualizer. (instantiate_pretty_printer): New function. (varobj_set_display_format): Update. (varobj_get_display_hint): New function. (update_dynamic_varobj_children): New function. (varobj_get_num_children): Handle dynamic children. (varobj_list_children): Likewise. (install_new_value): Likewise. (varobj_add_child): New function. (install_visualizer): Likewise. (install_default_visualizer): Likewise. (varobj_set_visualizer): Likewise. (varobj_update): Handle dynamic children. (create_child): Use create_child_with_value. (create_child_with_value): New function. (value_get_print_value): Call pretty printer. Add value_formatter argument. (c_value_of_variable): Update. (varobj_invalidate): Always free all_rootvarobj. * python/python-prettyprint.c (apply_varobj_pretty_printer): New function. (gdbpy_get_varobj_pretty_printer): Likewise. (gdbpy_default_visualizer): Likewise. gdb/doc 2009-05-27 Tom Tromey <tromey@redhat.com> * gdb.texinfo (GDB/MI Miscellaneous Commands): Document "python" feature. (GDB/MI Variable Objects): Document -var-set-visualizer. gdb/testsuite 2009-05-27 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * lib/mi-support.exp (mi_varobj_update_dynamic): New proc. (mi_child_regexp): Likewise. (mi_list_varobj_children_range): Likewise. (mi_get_features): Likewise. (mi_list_varobj_children): Rewrite. * gdb.python/python-mi.exp: New file.
2009-05-28gdbTom Tromey1-0/+7
2009-05-27 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Phil Muldoon <pmuldoon@redhat.com> Paul Pluzhnikov <ppluzhnikov@google.com> Vladimir Prus <vladimir@codesourcery.com> * python/python-value.c (value_object_to_value): New function. * python/python-internal.h: Include frameobject.h. (gdbpy_children_cst, gdbpy_to_string_cst, gdbpy_display_hint_cst): Declare. (value_object_to_value): Declare. * printcmd.c (struct format_data) <raw>: New field. (last_format): Default to 0. (decode_format): Initialize val.raw. Handle /r flag. (print_command_1): Initialize fmt.raw and opts.raw. (output_command): Likewise. (x_command): Fix initialization of fmt.format. Initialize fmt.raw. (display_command): Initialize fmt.raw. (do_one_display): Set opts.raw. * python/python.c (gdbpy_to_string_cst, gdbpy_children_cst, gdbpy_display_hint_cst): New globals. (_initialize_python): Initialize them. Set gdb.pretty_printers. * cp-valprint.c: Include python.h. (cp_print_value): Call apply_val_pretty_printer. * python/python.h (apply_val_pretty_printer): Declare. * stack.c (print_this_frame_argument_p): Remove. (print_frame_args): Compute summary flag. Don't use print_this_frame_argument_p. * valprint.c: Include python.h. (user_print_options): Initialize new fields. (scalar_type_p): New function. (val_print): Handle 'raw' and 'summary' modes. Call apply_val_pretty_printer. (value_print): Handle 'raw' mode. * valprint.h (struct value_print_options) <raw, summary>: New fields. * Makefile.in (SUBDIR_PYTHON_OBS): Add python-prettyprint.o (SUBDIR_PYTHON_SRCS): Add python-prettyprint.c. (python-prettyprint.o): New target. * python/python-prettyprint.c: New file. gdb/doc 2009-05-27 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Phil Muldoon <pmuldoon@redhat.com> * gdb.texinfo (Objfiles In Python): Reference pretty printing. (Pretty Printing): New node. (Selecting Pretty-Printers): Likewise. (Python API): Update. (Output Formats): Document /r format. gdb/testsuite 2009-05-27 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Phil Muldoon <pmuldoon@redhat.com> Paul Pluzhnikov <ppluzhnikov@google.com> * gdb.python/python-prettyprint.exp: New file. * gdb.python/python-prettyprint.c: New file. * gdb.python/python-prettyprint.py: New file. * gdb.base/display.exp: print/r is now valid.
2009-05-28gdbTom Tromey1-0/+4
2009-05-27 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Phil Muldoon <pmuldoon@redhat.com> Paul Pluzhnikov <ppluzhnikov@google.com> * python/python.c (_initialize_python): Call gdbpy_initialize_types. (GdbMethods): Add "lookup_type". * python/python-value.c (value_object) <type>: New field. (valpy_dealloc): Decref type. (valpy_new): Initialize type. (valpy_get_type): New function. (value_to_value_object): Initialize type. (valpy_cast): New function. (value_object_getset): Add "type". (value_object_methods): Add "cast". * python/python-internal.h (type_to_type_object): Declare. (type_object_to_type): Likewise. (gdbpy_initialize_types): Likewise. (gdbpy_lookup_type): Declare. * Makefile.in (SUBDIR_PYTHON_OBS): Add python-type.o. (SUBDIR_PYTHON_SRCS): Add python-type.c. (python-type.o): New target. * python/python-type.c: New file. gdb/doc 2009-05-27 Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> * gdb.texinfo (Types In Python): New node. (Values From Inferior): "type" is now an attribute. (Python API): Update. gdb/testsuite 2009-05-27 Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> Pedro Alves <pedro@codesourcery.com> Paul Pluzhnikov <ppluzhnikov@google.com> * gdb.python/python-template.exp: New file. * gdb.python/python-template.cc: New file. * gdb.python/python.exp (gdb_py_test_multiple): Add two objfile tests. * gdb.python/python-value.exp (py_objfile_tests): New proc. Call it. (test_value_after_death): New proc. * gdb.python/python-value.c (PTR): New typedef. (main): New variable 'x'.
2009-05-28gdbTom Tromey1-0/+4
2009-04-01 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> Phil Muldoon <pmuldoon@redhat.com> * python/python.c: Include objfiles.h, observer.h. (gdbpy_auto_load): New global. (gdbpy_current_objfile): Likewise. (GDBPY_AUTO_FILENAME): New define. (gdbpy_new_objfile): New function. (gdbpy_get_current_objfile): Likewise. (gdbpy_objfiles): Likewise. (_initialize_python): Add "maint set auto-load". Call gdbpy_initialize_objfile. Attach objfile observer. (GdbMethods): New methods current_objfile, objfiles. * python/python-objfile.c: New file. * python/python-internal.h (objfile_to_objfile_object): Declare. (objfpy_get_printers): Likewise. (gdbpy_initialize_objfile): Likewise. * Makefile.in (SUBDIR_PYTHON_OBS): Add python-objfile.o. (SUBDIR_PYTHON_SRCS): Add python-objfile.c. (python-objfile.o): New target. gdb/doc 2009-04-01 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.texinfo (Python API): Update. (Auto-loading): New node. (Objfiles In Python): New node. gdb/testsuite 2009-04-06 Tom Tromey <tromey@redhat.com> * gdb.python/python.exp (gdb_py_test_multiple): Add two objfile tests. * gdb.python/python-value.exp (py_objfile_tests): New proc. Call it.
2009-03-30gdb/Thiago Jung Bauermann1-0/+3
Expose frames to Python. * Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o. (SUBDIR_PYTHON_SRCS): Add python-frame.c. (python-frame.o): New target. * python/python-frame.c: New file. * python/python-internal.h (gdbpy_frames, gdbpy_newest_frame, gdbpy_frame_stop_reason_string, gdbpy_selected_frame, gdbpy_initialize_frames): New prototypes. * python/python.c (_initialize_python): Call gdbpy_initialize_frames. (GdbMethods): Add `selected_frame' and `frame_stop_reason_string' entries. * stack.c (find_frame_funname): New function, factored out of print_frame. (print_frame): Call find_frame_funname. * stack.h (find_frame_funname): Add prototype. gdb/doc/ * gdb.texinfo (Frames in Python): New node. (Python API): Update. gdb/testsuite/ * gdb.python/python-frame.c: New file. * gdb.python/python-frame.exp: New file.
2009-03-21gdb/Thiago Jung Bauermann1-0/+1
2009-03-05 Tom Tromey <tromey@redhat.com> Add support for convenience functions in Python. * Makefile.in (SUBDIR_PYTHON_OBS): Add python-function.o. (SUBDIR_PYTHON_SRCS): Add python-function.c. (python-function.o): New target. * eval.c: Include "python/python.h" and <ctype.h>. (evaluate_subexp_standard): Handle values of type TYPE_CODE_INTERNAL_FUNCTION. * gdbtypes.h (type_code): Add TYPE_CODE_INTERNAL_FUNCTION. * parse.c (write_exp_string): Remove duplicate word in comment. * python/python-function.c: New file. * python/python-internal.h (gdbpy_initialize_functions): Add prototype. * python/python.c (_initialize_python): Call gdbpy_initialize_functions. * valprint.c (value_check_printable): Handle values of type TYPE_CODE_INTERNAL_FUNCTION. * value.c: Include "cli/cli-decode.h". (internal_function): New struct. (functionlist, internal_fn_type): New static variables. (lookup_only_internalvar, lookup_internalvar): Add const qualifier to name argument. (create_internalvar): Likewise. Initialize new field. (set_internal_var): Fix typo in comment. Don't allow assignment to canonical variable. (value_create_internal_function, value_internal_function_name, call_internal_function, function_command, function_destroyer, add_internal_function): New functions. (_initialize_values): Create `function' placeholder command. Initialize internal_fn_type. * value.h (lookup_only_internalvar, create_internalvar, lookup_internalvar): Add const qualifier to name argument. (internal_function_fn, add_internal_function, call_internal_function, value_internal_function_name): Add prototypes. (struct internalvar) <canonical>: New field. gdb/doc/ 2008-03-05 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Convenience Vars): Document convenience functions. (Functions In Python): New node. (Python API): Update. gdb/testsuite/ 2009-03-05 Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.python/python-function.exp: New file.
2009-02-06gdb/Thiago Jung Bauermann1-0/+3
2009-02-06 Tom Tromey <tromey@redhat.com> * Makefile.in (SUBDIR_PYTHON_OBS): Add python-cmd.o. (SUBDIR_PYTHON_SRCS): Add python-cmd.c. (python-cmd.o): New target. * cli/cli-decode.c (set_cmd_completer): Add self parameter to completer prototype. (add_cmd): Initialize destroyer member of cmd_list_element. Use make_symbol_completion_list_fn as completer. (delete_cmd): Call destroyer if one is set. * cli/cli-decode.h (cmd_list_element): Add cmd parameter to completer member. Add destroyer member. (set_cmd_completer): Add self parameter to completer prototype. * command.h (set_cmd_completer): Add cmd parameter to completer prototype. * completer.c (noop_completer, filename_completer, location_completer, expression_completer, command_completer): Adapt to new completer prototype. (complete_line_internal): Pass new parameter to completer function. * completer.h (noop_completer, filename_completer, location_completer, expression_completer, command_completer): Adapt prototypes to new completer prototype. * interps.c (interpreter_completer): Adapt to new completer prototype. * python/python-cmd.c: New file. * python/python-internal.h (gdbpy_initialize_commands): Add prototype. (gdbpy_doc_cst): Add forward declaration. * python/python.c (gdbpy_doc_cst): Declare. (_initialize_python): Call gdbpy_initialize_commands. Initialize gdbpy_doc_cst. * symtab.c (make_symbol_completion_list_fn): New function. * symtab.h (make_symbol_completion_list_fn): Add prototype. gdb/doc/ 2009-02-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Python API): Add entry for Commands In Python. (Commands In Python): New node. gdb/testsuite/ 2009-02-06 Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.python/python-cmd.exp: New file.