aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
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
2013-05-19*** empty log message ***gdbadmin1-1/+1
2013-05-18*** empty log message ***gdbadmin1-1/+1
2013-05-172013-05-17 Edjunior Machado <emachado@linux.vnet.ibm.com>Edjunior Barbosa Machado2-8/+17
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Check if the region is ok for a hardware watchpoint using the new ptrace interface on Power servers.
2013-05-17 * NEWS: Mention new maintenance commands check-symtabs, andDoug Evans8-27/+232
expand-symtabs, and renamed check-psymtabs. * psymtab.c (maintenance_check_psymtabs): Renamed from maintenance_check_symtabs. Only process already-expanded symbol tables. (_initialize_psymtab): Update. * symmisc.c (maintenance_check_symtabs): New function. (maintenance_expand_name_matcher): New function (maintenance_expand_file_matcher): New function (maintenance_expand_symtabs): New function. (_initialize_symmisc): Add "mt check-symtabs" and "mt expand-symtabs" commands. doc/ * gdb.texinfo (Maintenance Commands): Update doc for "maint check-psymtabs". Add doc for "maint check-symtabs", "maint expand-symtabs". testsuite/ * gdb.base/maint.exp: Update test for "maint check-psymtabs". Add tests for "maint check-symtabs", "maint expand-symtabs".
2013-05-17 * gdb.base/maint.exp: Remove testing of individual maint commandDoug Evans2-63/+6
help output.
2013-05-17 * python/py-inferior.c (infpy_read_memory): Don't callTom Tromey3-7/+8
PyErr_SetString if PyObject_New fails. * python/py-frame.c (frame_info_to_frame_object): Don't call PyErr_SetString if PyObject_New fails.
2013-05-17Replace hardcoded -ldl with check for availabilityH.J. Lu4-6/+232
2013-05-17 Pavel Chupin <pavel.v.chupin@intel.com> * acinclude.m4: Add check for dlopen in libdl. * configure.ac: Ditto. * configure: Regenerate.
2013-05-172013-05-17 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon2-15/+101
* frame.c (frame_stash): Convert to htab. (frame_addr_hash): New function. (frame_addr_hash_eq): New function. (frame_stash_create): Convert function to create a hash table. (frame_stash_add): Convert function to add an entry to a hash table. (frame_stash_find): Convert function to search the hash table. (frame_stash_invalidate): Convert function to empty the hash table. (get_frame_id): Only add to stash if a frame_id is created. (_initialize_frame): Call frame_stash_create.
2013-05-17Mark the following commit as tiny change:Thomas Schwinge1-1/+1
gdb/ 2013-05-16 Yue Lu <hacklu.newborn@gmail.com> * configure.ac: Ensure MIG is available when building for GNU Hurd hosts. * configure: Regenerate.
2013-05-17[gdbserver/lynx178]: Fix null_ptid -vs- minus_one_ptid confusion in commentJoel Brobecker2-5/+10
gdb/gdbserver/ChangeLog: * lynx-low.c (lynx_resume): Fix null_ptid/minus_one_ptid confusion in comment.
2013-05-17gdbserver/lynx178: spurious SIG61 signal when resuming inferior.Joel Brobecker2-13/+60
On ppc-lynx178, resuming the execution of a program after hitting a breakpoint sometimes triggers a spurious SIG61 event: (gdb) cont Continuing. Program received signal SIG61, Real-time event 61. [Switching to Thread 39] 0x10002324 in a_test.task1 (<_task>=0x3ffff774) at a_test.adb:30 30 select -- Task 1 From this point on, continuing again lets the signal kill the program. Using "signal 0" or configuring GDB to discard the signal does not help either, as the program immediately reports the same signal again. What happens is the following: - GDB sends a single-step order to gdbserver: $vCont;s:31 This tells GDBserver to do a step using thread 0x31=49. GDBserver does the step, and thread 49 receives the SIGTRAP indicating that the step has finished. - GDB then sends a "continue", but this time does not specify which thread to continue: $vCont;c GDBserver uses an arbitrary thread's ptid to resume the program's execution (the current_inferior's ptid was chosen for that). See lynx-low.c:lynx_resume: if (ptid_equal (ptid, minus_one_ptid)) ptid = thread_to_gdb_id (current_inferior); So far on all LynxOS platforms, this has been good enough. But not so on LynxOS 178. If the ptid used to resume the execution is not the same as the thread that did the step, we get the weird signal. This patch fixes the problem by saving the ptid of the thread that last caused an event, received during a call to waitpid. The ptid is saved in per-process private data. gdb/gdbserver/ChangeLog: * lynx-low.c (struct process_info_private): New type. (lynx_add_process): New function. (lynx_create_inferior, lynx_attach): Replace calls to add_process by calls to lynx_add_process. (lynx_resume): If PTID is null, then try using current_process()->private->last_wait_event_ptid. Add comments. (lynx_clear_inferiors): Delete. The contents of that function has been inlined in lynx_mourn; (lynx_wait_1): Save the ptid in the process's private data. (lynx_mourn): Free the process' private data. Replace call to lynx_clear_inferiors by call to clear_inferiors.
2013-05-17gdb/gdbserverYao Qi2-1/+6
* i386-low.c (i386_length_and_rw_bits): Move the comment to the right place.
2013-05-17*** empty log message ***gdbadmin1-1/+1
2013-05-16gdb/Thomas Schwinge3-4/+24
2013-05-16 Yue Lu <hacklu.newborn@gmail.com> * configure.ac: Ensure MIG is available when building for GNU Hurd hosts. * configure: Regenerate.
2013-05-16 * linux-low.c: Move definition checks upwards for PT_TEXT_ADDR,Luis Machado2-22/+45
PT_DATA_ADDR and PT_TEXT_END_ADDR. Update comments. (linux_read_offsets): Remove PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR guards. Update comments. (linux_target_op) <read_offsets>: Conditionally define to linux_read_offsets if the target is UCLIBC and if it defines PT_TEXT_ADDR, PT_DATA_ADDR and PT_TEXT_END_ADDR.
2013-05-16gdb.ada/complete.exp: Fix FIXME.Pedro Alves2-5/+7
2013-05-16 Pedro Alves <palves@redhat.com> * gdb.ada/complete.exp (test_gdb_no_completion): Fix typo in comment. Use gdb_test_no_output.
2013-05-16[dwarf]: Add DW_LANG_UPC support in set_cu_language.Joel Brobecker2-0/+5
gdb/ChangeLog: * dwarf2read.c (set_cu_language): Add DW_LANG_UPC handling.
2013-05-16Missing do_cleanups in ada_make_symbol_completion_list.Joel Brobecker4-1/+28
This results in an internal-warning when trying the completion when in Ada mode: (gdb) b simple<TAB> /[...]/cleanups.c:265: internal-warning: restore_my_cleanups has found a stale cleanup A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) gdb/ChangeLog: * ada-lang.c (ada_make_symbol_completion_list): Make sure all cleanups are done before returning from this function. gdb/testsuite/ChangeLog: * gdb.ada/complete.exp: Add test verifying completion using the "tab" key.
2013-05-16*** empty log message ***gdbadmin1-1/+1
2013-05-15 * gdb.base/filesym.exp: New completer test.Keith Seitz2-0/+78
* gdb.base/filesym.c: New file.
2013-05-15Remove my name from a couple tests.Pedro Alves3-5/+6
Tested on x86_64 Fedora 17. gdb/testsuite/ 2013-05-15 Pedro Alves <palves@redhat.com> * gdb.base/fixsection.c: Remove attribution. * gdb.base/watch-read.exp: Ditto.
2013-05-15Remove forward enum declaration in utils.h.Joel Brobecker2-1/+6
These forward declarations are a GNU extension, and they trigger a build warning when the compiler does not support it. gdb/ChangeLog: * utils.h: #include "exceptions.h". (enum errors): Remove partial declaration.
2013-05-15ppc-aix core file relocation.Joel Brobecker9-193/+435
The current code attempts to provide relocation support when debugging core files via the rs6000_xfer_partial method of the rs6000-nat target_ops vector. However, this target_ops vector does not get pushed on the target stack at all when debugging core files, thus bypassing completely that part of the code. This patch fixes the problem by extending corelow's core_xfer_partial into handling the TARGET_OBJECT_LIBRARIES_AIX object. gdb/ChangeLog: * gdbarch.sh (core_xfer_shared_libraries_aix): New method. * gdbarch.h, gdbarch.c: Regenerate. * corelow.c (core_xfer_partial): Add TARGET_OBJECT_LIBRARIES_AIX handling. * rs6000-aix-tdep.h: New file. * Makefile.in (HFILES_NO_SRCDIR): Add rs6000-aix-tdep.h. * rs6000-aix-tdep.c: Include "rs6000-aix-tdep.h" and "xml-utils.h". (struct field_info, struct ld_info_desc): New types. (ld_info32_desc, ld_info64_desc): New static constants. (struct ld_info): New type. (rs6000_aix_extract_ld_info): New function. (rs6000_aix_shared_library_to_xml): Likewise. (rs6000_aix_ld_info_to_xml): Likewise. (rs6000_aix_core_xfer_shared_libraries_aix): Likewise. (rs6000_aix_init_osabi): Add call to set_gdbarch_core_xfer_shared_libraries_aix. * rs6000-nat.c: Add "rs6000-aix-tdep.h" include. Remove "xml-utils.h" include. (LdInfo): Delete typedef. (ARCH64_DECL, LDI_FIELD, LDI_NEXT, LDI_FD, LDI_FILENAME): Delete macros. (rs6000_ptrace_ldinfo): Change return type to gdb_byte *. Adjust code accordingly. (rs6000_core_ldinfo): Delete, folded into rs6000_aix_core_xfer_shared_libraries_aix. (rs6000_xfer_shared_library): Delete. (rs6000_xfer_shared_libraries): Reimplement.
2013-05-15The "record goto" command scans its arguments for "begin", "start", or "end".Markus Metzger4-14/+72
Turn those into sub-commands. Document the "record goto" command.
2013-05-15*** empty log message ***gdbadmin1-1/+1
2013-05-14gdb/Jan Kratochvil2-0/+9
* linespec.c (convert_linespec_to_sals): New comment for SOURCE_FILENAME assignment.
2013-05-14gdb/Jan Kratochvil2-1/+9
* cleanups.c (restore_my_cleanups): Replace gdb_assert by internal_warning.
2013-05-14 * eval.c (parse_and_eval_long): Make 'exp' const.Tom Tromey3-2/+7
* value.h (parse_and_eval_long): Update.
2013-05-14 * ui-file.c (gdb_fopen): Make arguments const.Tom Tromey3-2/+7
* ui-file.h (gdb_fopen): Make arguments const.
2013-05-14 * remote.c (remote_set_trace_notes): Make arguments const.Tom Tromey4-3/+11
* target.c (update_current_target): Update cast. * target.h (to_set_trace_notes): Make arguments const.
2013-05-14 * go32-nat.c (go32_terminal_info): Make 'args' const.Tom Tromey6-9/+17
* inferior.h (child_terminal_info): Update. * inflow.c (child_terminal_info): Make 'args' const. * target.c (default_terminal_info): Make 'args' const. (debug_to_terminal_save_ours): Likewise. * target.h (struct target_ops) <to_terminal_info>: Make argument const.
2013-05-14 * gcore.c (create_gcore_bfd): Make 'filename' const.Tom Tromey6-7/+17
* gcore.h (create_gcore_bfd): Make 'filename' const. * record-full.c (record_full_save): Make 'recfilename' const. * target.c (target_save_record): Make 'filename' const. * target.h (struct target_ops) <to_save_record>: Make 'filename' const. (target_save_record): Likewise.
2013-05-14*** empty log message ***gdbadmin1-1/+1