aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2013-05-21Centralize workaround for Python 2.6's Py_DECREF.Pedro Alves3-9/+21
Wrap/redefine Py_DECREF ourselves, avoiding the need for uses to care about extra braces due to the fact that Python only started wrapping Py_DECREF in 'do {} while (0)' after 2.6. gdb/ 2013-05-21 Pedro Alves <palves@redhat.com> * python/py-utils.c (py_decref): Remove extra braces. (gdb_pymodule_addobject): Remove extra braces. * python-internal.h (gdb_Py_DECREF): New static inline function. (Py_DECREF): Redefine as calling gdb_Py_DECREF.
2013-05-21 * gdb.base/filesym.exp: Use gdb_test_multiple instead ofKeith Seitz2-14/+28
gdb_expect. Add test to flush the remaining input buffer so that this file passes testsuite/12649.
2013-05-21Fix internal error caused by interaction between catch signal and forkPhilippe Waroquiers5-0/+120
2013-05-212013-05-21 Sterling Augustine <saugustine@google.com>Sterling Augustine2-0/+131
* boards/remote-stdio-gdbserver.exp: New file.
2013-05-21gdb/Jan Kratochvil2-1/+10
Workaround Python 2.6. * python/py-utils.c (gdb_pymodule_addobject): Wrap Py_DECREF into a block.
2013-05-21gdb/testsuite/Jan Kratochvil2-2/+8
PR testsuite/12649 * gdb.mi/mi-dprintf.exp (mi_continue_dprintf): Fix expect strings for racy matches.
2013-05-21gdb/Jan Kratochvil3-17/+29
Code cleanup: constification. * solib.c (solib_ops): Make return type and ops variable type const. (set_solib_ops): Make the new_ops parameter and ops variable const. (solib_find, solib_map_sections, clear_so, free_so, update_solib_list) (solib_add, solib_keep_data_in_core, clear_solib) (solib_create_inferior_hook, in_solib_dynsym_resolve_code) (reload_shared_libraries, solib_global_lookup): Make the ops variable const. * solib.h (set_solib_ops): Make the new_ops parameter const.
2013-05-21 * gdb.dwarf2/dw2-dir-file-name.exp: Don't use brace expansion,Christian Groessler2-4/+34
since it's not supported in all shells.
2013-05-21Add new system-gdbinit infrastructureJoel Brobecker4-5/+174
gdb/ChangeLog: * data-directory/Makefile.in (SYSTEM_GDBINIT_SRCDIR): New variable. (VPATH): Add SYSTEM_GDBINIT_SRCDIR. (SYSTEM_GDBINIT_DIR, SYSTEM_GDBINIT_INSTALL_DIR) (SYSTEM_GDBINIT_FILES): New variables. (all): Add stamp-system-gdbinit. (stamp-system-gdbinit): New rule. (clean-system-gdbinit, install-system-gdbinit) (uninstall-system-gdbinit): New rules. Make them .PHONY. (install-only): Add dependency on install-system-gdbinit. (uninstall): Add dependency on uninstall-system-gdbinit. (clean): Add dependency on clean-system-gdbinit. * system-gdbinit/elinos.py: New file. * system-gdbinit/wrs-linux.py: New file.
2013-05-21[Ada] Fix cleanup leak in ada-lang.c:old_renaming_is_invisibleJoel Brobecker2-4/+16
gdb/ChangeLog: * ada-lang.c (old_renaming_is_invisible): Fix cleanup leak.
2013-05-212013-05-21 Hui Zhu <hui@codesourcery.com>Hui Zhu13-24/+453
* breakpoint.c (dprintf_breakpoint_ops): Remove its static. * breakpoint.h (dprintf_breakpoint_ops): Add extern. * mi/mi-cmd-break.c (ctype.h): New include. (gdb_obstack.h): New include. (mi_argv_to_format, mi_cmd_break_insert_1): New. (mi_cmd_break_insert): Call mi_cmd_break_insert_1. (mi_cmd_dprintf_insert): New. * mi/mi-cmds.c (mi_cmds): Add "dprintf-insert". * mi/mi-cmds.h (mi_cmd_dprintf_insert): New extern. 2013-05-21 Hui Zhu <hui@codesourcery.com> * gdb.texinfo (GDB/MI Breakpoint Commands): Describe the "-dprintf-insert" command. 2013-05-21 Hui Zhu <hui@codesourcery.com> * gdb.mi/Makefile.in (PROGS): Add "mi-dprintf". * gdb.mi/mi-dprintf.exp, gdb.mi/mi-dprintf.c: New.
2013-05-21*** empty log message ***gdbadmin1-1/+1
2013-05-20 * lib/dwarf.exp (Dwarf): New variable _abbrev_section.Doug Evans7-48/+120
(_handle_DW_TAG): Use it. (cu, tu): Replace parameters is_64, version, addr_size with options. All callers updated. Add Fission support. * gdb.dwarf2/implptrconst.exp: Update callers of "cu". * gdb.dwarf2/method-ptr.exp: Ditto. * gdb.dwarf2/nostaticblock.exp: Ditto. * gdb.dwarf2/subrange.exp: Ditto. * gdb.dwarf2/missing-sig-type.exp: Update callers of "cu", "tu".
2013-05-20 * gdb.gdb/python-selftest.exp: New file.Tom Tromey2-0/+34
2013-05-20 * python/py-prettyprint.c (search_pp_list): Decref 'attr'.Tom Tromey2-0/+5
2013-05-20 * python/py-value.c (valpy_get_dynamic_type): SimplifyTom Tromey2-9/+7
dynamic_type assignment. Use Py_XINCREF.
2013-05-20 * python/py-type.c (typy_fields): Unconditionally decref 'r'.Tom Tromey2-4/+5
2013-05-20 * python/py-frame.c (frapy_older, frapy_newer, gdbpy_newest_frame)Tom Tromey2-24/+28
(gdbpy_selected_frame): Move object-construction code out of TRY_CATCH.
2013-05-20 * python/py-arch.c (gdbpy_initialize_arch): UseTom Tromey23-94/+126
gdb_pymodule_addobject. * python/py-block.c (gdbpy_initialize_blocks): Use gdb_pymodule_addobject. * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Use gdb_pymodule_addobject. * python/py-cmd.c (gdbpy_initialize_breakpoints): Use gdb_pymodule_addobject. * python/py-event.c (gdbpy_initialize_event_generic): Use gdb_pymodule_addobject. * python/py-evtregistry.c (gdbpy_initialize_eventregistry): Use gdb_pymodule_addobject. * python/py-evts.c (add_new_registry): Use gdb_pymodule_addobject. (gdbpy_initialize_py_events): Likewise. * python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints): Use gdb_pymodule_addobject. * python/py-frame.c (gdbpy_initialize_frames): Use gdb_pymodule_addobject. * python/py-function.c (gdbpy_initialize_functions): Use gdb_pymodule_addobject. * python/py-inferior.c (gdbpy_initialize_inferior): Use gdb_pymodule_addobject. * python/py-infthread.c (gdbpy_initialize_thread): Use gdb_pymodule_addobject. * python/py-objfile.c (gdbpy_initialize_objfile): Use gdb_pymodule_addobject. * python/py-param.c (gdbpy_initialize_parameters): Use gdb_pymodule_addobject. * python/py-progspace.c (gdbpy_initialize_pspace): Use gdb_pymodule_addobject. * python/py-symbol.c (gdbpy_initialize_symbols): Use gdb_pymodule_addobject. * python/py-symtab.c (gdbpy_initialize_symtabs): Use gdb_pymodule_addobject. * python/py-type.c (gdbpy_initialize_types): Use gdb_pymodule_addobject. * python/py-utils.c (gdb_pymodule_addobject): New function. * python/py-value.c (gdbpy_initialize_values): Use gdb_pymodule_addobject. * python/python-internal.h (gdb_pymodule_addobject): Declare. * python/python.c (_initialize_python): Use gdb_pymodule_addobject.
2013-05-20 * python/py-cmd.c (cmdpy_completer): Use explicit decref.Tom Tromey4-15/+23
* python/py-param.c (get_set_value, get_show_value): Use explicit decrefs. * python/python.c (start_type_printers, apply_type_printers): Use explicit decrefs.
2013-05-20 * python/py-evts.c (gdbpy_initialize_py_events): Don'tTom Tromey2-3/+5
incref the module.
2013-05-20 * python/python.c (gdbpy_run_events): Decref the resultTom Tromey2-1/+10
of PyObject_CallObject.
2013-05-20 * python/py-symtab.c (set_sal): UseTom Tromey2-8/+11
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. Return -1 on error. (symtab_and_line_to_sal_object): Update.
2013-05-20 * python/py-param.c (compute_enum_values): Decref 'item'.Tom Tromey2-0/+6
2013-05-20 * mi/mi-main.c: Include python-internal.h.Tom Tromey8-83/+176
(mi_cmd_list_features): Check gdb_python_initialized. * python/py-inferior.c (python_on_normal_stop, python_on_resume) (python_inferior_exit, python_new_objfile, add_thread_object) (delete_thread_object, py_free_inferior): Check gdb_python_initialized. * python/py-prettyprint.c (apply_val_pretty_printer): Check gdb_python_initialized. * python/py-type.c (save_objfile_types): Check gdb_python_initialized. * python/python-internal.h (gdb_python_initialized): Declare. * python/python.c (ensure_python_env): Throw exception if Python not initialized. (before_prompt_hook, source_python_script_for_objfile) (start_type_printers, apply_type_printers, free_type_printers): Check gdb_python_initialized. * varobj.c (varobj_get_display_hint) (dynamic_varobj_has_child_method, update_dynamic_varobj_children) (install_new_value_visualizer, varobj_set_visualizer) (value_get_print_value): Check gdb_python_initialized.
2013-05-20 * python/py-arch.c (gdbpy_initialize_arch): Return 'int'.Tom Tromey26-217/+401
Check errors. * python/py-auto-load.c (gdbpy_initialize_auto_load): Return 'int'. * python/py-block.c (gdbpy_initialize_blocks): Return 'int'. Check errors. * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Return 'int'. Check errors. * python/py-cmd.c (gdbpy_initialize_commands): Return 'int'. Check errors. * python/py-event.c (gdbpy_initialize_event): Return 'int'. Check errors. * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Change generated init function to return 'int'. * python/py-evtregistry.c (gdbpy_initialize_eventregistry): Return 'int'. Check errors. * python/py-evts.c (gdbpy_initialize_py_events): Return 'int'. Check errors. * python/py-finishbreakpoint.c (gdbpy_initialize_finishbreakpoints): Return 'int'. Check errors. * python/py-frame.c (gdbpy_initialize_frames): Return 'int'. Check errors. * python/py-function.c (gdbpy_initialize_functions): Return 'int'. Check errors. * python/py-gdb-readline.c (gdbpy_initialize_gdb_readline): Check errors. * python/py-inferior.c (gdbpy_initialize_inferior): Return 'int'. Check errors. * python/py-infthread.c (gdbpy_initialize_thread): Return 'int'. Check errors. * python/py-lazy-string.c (gdbpy_initialize_lazy_string): Return 'int'. Check errors. * python/py-objfile.c (gdbpy_initialize_objfile): Return 'int'. Check errors. * python/py-param.c (gdbpy_initialize_parameters): Return 'int'. Check errors. * python/py-progspace.c (gdbpy_initialize_pspace): Return 'int'. Check errors. * python/py-symbol.c (gdbpy_initialize_symbols): Return 'int'. Check errors. * python/py-symtab.c (gdbpy_initialize_symtabs): Return 'int'. Check errors. * python/py-type.c (gdbpy_initialize_types): Return 'int'. Check errors. * python/py-value.c (gdbpy_initialize_values): Return 'int'. Check errors. * python/python-internal.h (gdbpy_initialize_auto_load, gdbpy_initialize_values, gdbpy_initialize_frames, gdbpy_initialize_symtabs, gdbpy_initialize_commands, gdbpy_initialize_symbols, gdbpy_initialize_symtabs, gdbpy_initialize_blocks, gdbpy_initialize_types, gdbpy_initialize_functions, gdbpy_initialize_pspace, gdbpy_initialize_objfile, gdbpy_initialize_breakpoints, gdbpy_initialize_finishbreakpoints, gdbpy_initialize_lazy_string, gdbpy_initialize_parameters, gdbpy_initialize_thread, gdbpy_initialize_inferior, gdbpy_initialize_eventregistry, gdbpy_initialize_event, gdbpy_initialize_py_events, gdbpy_initialize_stop_event, gdbpy_initialize_signal_event, gdbpy_initialize_breakpoint_event, gdbpy_initialize_continue_event, gdbpy_initialize_exited_event, gdbpy_initialize_thread_event, gdbpy_initialize_new_objfile_event, gdbpy_initialize_arch): Update. Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. * python/python.c (gdb_python_initialized): New global. (gdbpy_initialize_events): Return 'int'. Check errors. (_initialize_python): Check errors. Set gdb_python_initialized.
2013-05-20 * python/py-finishbreakpoint.c (bpfinishpy_out_of_scope):Tom Tromey2-2/+11
Decref the reslut of PyObject_CallMethod.
2013-05-20 * python/py-event.c (gdbpy_initialize_event_generic): ReturnTom Tromey2-1/+6
early if PyType_Ready fails.
2013-05-20 * python/py-type.c (make_fielditem): Add gdb_assert_not_reachedTom Tromey2-0/+7
as 'default' in the switch.
2013-05-20 * python/py-inferior.c (gdbpy_inferiors): Update. HoistTom Tromey4-68/+69
get_addr_from_python calls out of TRY_CATCH. (infpy_write_memory, infpy_search_memory): Likewise. * python/py-utils.c (get_addr_from_python): Return negative value on error. Use TRY_CATCH. * python/python-internal.h (get_addr_from_python): Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION.
2013-05-20 * gdb.base/maint.exp: Fix test for "mt expand-symtabs" to account forDoug Evans2-2/+10
-fdebug-types-section.
2013-05-20 * python/py-event.c (evpy_emit_event): Decref theTom Tromey2-1/+13
result of PyObject_CallFunctionObjArgs.
2013-05-20 * python/py-cmd.c (cmdpy_completer): Use iterator protocol.Tom Tromey2-21/+33
Correctly decref.
2013-05-20 * python/py-cmd.c (cmdpy_init): Decref 'ds_obj'.Tom Tromey2-0/+7
2013-05-20 * python/py-event.h (gdbpy_initialize_event_generic): UseTom Tromey4-4/+21
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. * python/py-evts.c (add_new_registry): Use CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION. * python/python-internal.h (CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION): New macro.
2013-05-20 * python/py-arch.c (archpy_disassemble): Update.Tom Tromey5-27/+35
* python/py-type.c (typy_get_composite, typy_lookup_typename) (typy_lookup_type): Use GDB_PY_HANDLE_EXCEPTION. * python/py-utils.c (gdbpy_convert_exception): Return 'void'. * python/python-internal.h (CPYCHECKER_SETS_EXCEPTION): New macro. (GDB_PY_HANDLE_EXCEPTION): Update. (gdbpy_convert_exception): Update. Use CPYCHECKER_SETS_EXCEPTION.
2013-05-20 * python/python-internal.h (events_object_type): Remove.Tom Tromey2-1/+4
2013-05-20 * python/py-event.h (evpy_emit_event): UseTom Tromey3-1/+16
CPYCHECKER_STEALS_REFERENCE_TO_ARG. * python/python-internal.h (CPYCHECKER_STEALS_REFERENCE_TO_ARG): New macro.
2013-05-20 * py-evtregistry.c (create_event_object): DecrefTom Tromey2-1/+9
eventregistry_object if PyList_New fails.
2013-05-20 * py-cmd.c (gdbpy_string_to_argv): Check result ofTom Tromey2-0/+7
PyList_New.
2013-05-20 * python/python.c (before_prompt_hook): Add cleanup toTom Tromey2-0/+7
decref 'hook'.
2013-05-20 * python/py-function.c (fnpy_init): Decref result ofTom Tromey2-5/+16
PyObject_GetAttrString.
2013-05-20 * python/py-threadevent.c (get_event_thread): UseTom Tromey3-3/+25
CPYCHECKER_RETURNS_BORROWED_REF. * python/python-internal.h (CPYCHECKER_RETURNS_BORROWED_REF): New define. (pspace_to_pspace_object, objfile_to_objfile_object) (find_thread_object): Use it.
2013-05-20 * python/py-arch.c (arch_object_type): UseTom Tromey23-34/+130
CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-block.c (block_syms_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-bpevent.c (breakpoint_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-cmd.c (cmdpy_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-continueevent.c (continue_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-event.h (GDBPY_NEW_EVENT_TYPE): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-events.h (thread_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-evtregistry.c (eventregistry_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-exitedevent.c (exited_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-finishbreakpoint.c (finish_breakpoint_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-function.c (fnpy_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-inferior.c (inferior_object_type, membuf_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-infthread.c (thread_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-lazy-string.c (lazy_string_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-newobjfileevent.c (new_objfile_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-objfile.c (objfile_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-param.c (parmpy_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-progspace.c (pspace_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-signalevent.c (signal_event_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-symtab.c (symtab_object_type, sal_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-type.c (type_object_type, field_object_type) (type_iterator_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF. * python/py-internal.h (CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF): New define. (value_object_type, block_object_type, symbol_object_type) (event_object_type, stop_event_object_type, breakpoint_object_type) (frame_object_type): Use CPYCHECKER_TYPE_OBJECT_FOR_TYPEDEF.
2013-05-202013-05-20 Andreas Tobler <andreas@fgznet.ch>Andreas Tobler2-2/+8
* Makefile.in (ALL_TARGET_OBS): Add ppcfbsd-tdep.o. (ALLDEPFILES): Add ppcfbsd-nat.c and ppcfbsd-tdep.c.
2013-05-20 When reading CU, stay in DWO. Be more tolerent of bad debug info.Doug Evans2-25/+385
For Fission. * dwarf2read.c (struct dwarf2_per_cu_data): New member reading_dwo_directly. (struct signatured_type): New member dwo_unit. (struct die_reader_specs): New member comp_dir. (create_signatured_type_table_from_index): Use malloc for all_type_units instead of objfile's obstack. (create_all_type_units): Ditto. (fill_in_sig_entry_from_dwo_entry): New function. (add_type_unit): New function. (lookup_dwo_signatured_type): New function. (lookup_dwp_signatured_type): New function. (lookup_signatured_type): New arg cu. All callers updated. (init_cu_die_reader): Initialize comp_dir. (read_cutu_die_from_dwo): New arg stub_comp_dir. All callers updated. Change assert of matching type signatures to call error on mismatch. (lookup_dwo_unit): Add assert. (init_tu_and_read_dwo_dies): New function. (init_cutu_and_read_dies): Call it. (build_type_unit_groups): Handle case of no type unit groups created. (hash_dwo_file, eq_dwo_file): Handle missing comp_dir. (lookup_dwo_cutu): Tweak complaint. (dwarf2_free_abbrev_table): Check for NULL abbrev_table. (dwarf2_per_objfile_free): Free all_type_units.
2013-05-20Add missing empty line after var declarations in handle_unload_dllJoel Brobecker2-0/+5
gdb/ChangeLog: * windows-nat.c (handle_unload_dll): Add missing empty line.
2013-05-20[dwarf] Mark all functions as prototyped except C functions.Joel Brobecker7-12/+174
This makes sure that the types of the arguments are taken into account when performing an inferior function call to a non-C (or C-like) function. In particular, this makes sure that the arguments are appropriatly converted to the correct type. For instance, on x86_64-linux, with the following Ada code: procedure Set_Float (F : Float) is begin Global_Float := F; end Set_Float; The following sequence shows that Float arguments are incorrectly passed (Ada's Float type is the equivalent of type "float" in C): (gdb) call set_float (2.0) (gdb) print global_float $1 = 0.0 Putting a breakpoint inside set_float to inspect the value of register xmm0 gives the first hint of the problem: (gdb) p $xmm0 $2 = (v4_float => (0 => 0.0, 2.0, 0.0, 0.0), v2_double => (0 => 2.0, 0.0), [...] It shows that the argument was passed as a double. The code responsible for doing appropriate type conversions for the arguments (value_arg_coerce) found that our function was not prototyped, and thus could not use typing information for the arguments. Instead, it defaulted to the value of "set coerce-float-to-double", which by default is true, to determine the argument type. This patch fixes the problem by setting the PROTOTYPE flag for all functions of any language except C and Objective C. gdb/ChangeLog: * dwarf2read.c (prototyped_function_p): New function. (read_subroutine_type): Use it. gdb/testsuite/ChangeLog: * gdb.ada/float_param: New testcase.
2013-05-20De-indent example code in rs6000-aix-tdep.c (ARI fix)Joel Brobecker2-44/+49
This patch de-indents the code provided as a comment explaining how the code declaring the ld_info32_desc and ld_info64_desc globals was generated. The intent is to avoid an ARI warning about a macro not starting at column zero of the line. gdb/ChangeLog: * rs6000-aix-tdep.c: De-indent some example code provided as a comment.
2013-05-20*** empty log message ***gdbadmin1-1/+1