aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2010-11-30*** empty log message ***gdbadmin1-1/+1
2010-11-29 * python/lib/gdb/printing.py (register_pretty_printer): ChangeDoug Evans7-17/+41
printer-name:subprinter-name to printer-name;subprinter-name. * python/lib/gdb/command/pretty_printers.py (parse_printer_regexps): Ditto. (InfoPrettyPrinter, EnablePrettyPrinter, DisablePrettyPrinter): Ditto. doc/ * gdb.texinfo (Pretty-Printer Introduction): Change printer-name:subprinter-name to printer-name;subprinter-name. testsuite/ * gdb.python/py-pp-maint.exp: Change printer-name:subprinter-name to printer-name;subprinter-name.
2010-11-29gdbTom Tromey20-50/+1583
* opencl-lang.c (lval_func_check_synthetic_pointer): New function. * value.h (struct lval_funcs) <indirect, check_synthetic_pointer>: New fields. (value_bits_synthetic_pointer): Declare. * value.c (value_bits_synthetic_pointer): New function. * valprint.c (valprint_check_validity): Handle synthetic pointers. * valops.c (value_ind): Use new 'indirect' lval_funcs method. * valarith.c (value_ptradd): Use set_value_component_location. * p-valprint.c (pascal_object_print_value_fields): Handle synthetic pointers. * jv-valprint.c (java_print_value_fields): Handle synthetic pointers. * dwarf2read.c (dwarf_stack_op_name): Add DW_OP_GNU_implicit_pointer. (dwarf2_fetch_die_location_block): Add get_frame_pc, baton arguments. Handle location lists. (fill_in_loclist_baton): New function. (dwarf2_symbol_mark_computed): Use it. * dwarf2loc.h (dwarf2_find_location_expression): Declare. (dwarf2_fetch_die_location_block): Add get_frame_pc, baton arguments. * dwarf2loc.c (dwarf2_find_location_expression): Rename from find_location_expression. No longer static. Update all callers. (dwarf_expr_frame_pc): New function. (per_cu_dwarf_call): Add get_frame_pc, baton arguments. Update all callers. (struct piece_closure) <per_cu>: New field. (allocate_piece_closure): Add per_cu argument. (read_pieced_value): Handle DWARF_VALUE_IMPLICIT_POINTER. (check_pieced_value_bits): Remove validity argument, add check_for argument. Handle DWARF_VALUE_IMPLICIT_POINTER. (check_pieced_value_validity, check_pieced_value_invalid): Update. (check_pieced_synthetic_pointer): New function. (get_frame_address_in_block_wrapper): New function. (indirect_pieced_value): New function. (pieced_value_funcs): Update. (invalid_synthetic_pointer): New function. (dwarf2_evaluate_loc_desc_full): Rename from dwarf2_evaluate_loc_desc. Add byte_offset argument. (dwarf2_evaluate_loc_desc): Rewrite. (dwarf2_loc_desc_needs_frame): Set new field on context. (get_ax_pc): New function. (disassemble_dwarf_expression): Handle DW_OP_GNU_implicit_pointer. * dwarf2expr.h (enum dwarf_value_location) <DWARF_VALUE_IMPLICIT_POINTER>: New constant. (struct dwarf_expr_context) <get_frame_pc>: New field. (struct dwarf_expr_piece) <v.ptr>: New field. * dwarf2expr.c (add_piece): Handle DWARF_VALUE_IMPLICIT_POINTER. (execute_stack_op): Handle DW_OP_GNU_implicit_pointer. * dwarf2-frame.c (no_get_frame_pc): New function. (execute_stack_op): Set new field on context. * cp-valprint.c (cp_print_value_fields): Handle synthetic pointers. gdb/testsuite * gdb.dwarf2/implptr.exp: New file. * gdb.dwarf2/implptr.c: New file. * gdb.dwarf2/implptr.S: New file.
2010-11-292010-11-29 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon6-0/+66
PR python/12199 * python/py-breakpoint.c (bppy_delete_breakpoint): New function. 2010-11-29 Phil Muldoon <pmuldoon@redhat.com> PR python/12199 * gdb.python/py-breakpoint.exp: Test the delete method. 2010-11-29 Phil Muldoon <pmuldoon@redhat.com> PR python/12199 * gdb.texinfo (Breakpoints In Python): Document "delete" method.
2010-11-29*** empty log message ***gdbadmin1-1/+1
2010-11-28gdb/Jan Kratochvil8-32/+163
Fix step_resume_breakpoint unsaved during an infcall. * gdbthread.h (struct thread_control_state): Move here field step_resume_breakpoint ... (struct thread_info): ... from here. * infrun.c (save_infcall_control_state): Reset control.step_resume_breakpoint to NULL. (restore_infcall_control_state, discard_infcall_control_state): Delete control.step_resume_breakpoint. * arm-linux-tdep.c, infrun.c, thread.c: Update all the references to the moved field. gdb/testsuite/ Fix step_resume_breakpoint unsaved during an infcall. * gdb.base/step-resume-infcall.exp: New file. * gdb.base/step-resume-infcall.c: New file.
2010-11-28gdb/Jan Kratochvil24-466/+552
Rename and move inferior_thread_state and inferior_status. * gdbthread.h (struct thread_control_state): New struct, move fields step_range_start, step_range_end, step_frame_id, step_stack_frame_id, trap_expected, proceed_to_finish, in_infcall, step_over_calls, stop_step and stop_bpstat here from struct thread_info. (struct thread_suspend_state): New struct, move field stop_signal here from struct thread_info. (struct thread_info): Move the fields above from this struct. * inferior.h: Move the inferior_thread_state and inferior_status declarations comment to their definitions at infrun.c. (struct inferior_control_state): New struct, move field stop_soon from struct inferior here. (struct inferior_suspend_state): New empty struct. (struct inferior): New fields control and suspend. Move out field stop_soon. * infrun.c (struct inferior_thread_state): Rename to ... (infcall_suspend_state): ... here. Replace field stop_signal by fields thread_suspend and inferior_suspend. (save_inferior_thread_state): Rename to ... (save_infcall_suspend_state): ... here. New variable inf. Update the code for new fields. (restore_inferior_thread_state): Rename to ... (restore_infcall_suspend_state): ... here. New variable inf. Update the code for new fields. (do_restore_inferior_thread_state_cleanup): Rename to ... (do_restore_infcall_suspend_state_cleanup): ... here. (make_cleanup_restore_inferior_thread_state): Rename to ... (make_cleanup_restore_infcall_suspend_state): ... here. (discard_inferior_thread_state): Rename to ... (discard_infcall_suspend_state): ... here. (get_inferior_thread_state_regcache): Rename to ... (get_infcall_suspend_state_regcache): ... here. (struct inferior_status): Rename to ... (struct infcall_control_state): ... here. Replace fields step_range_start, step_range_end, step_frame_id, step_stack_frame_id, trap_expected, proceed_to_finish, in_infcall, step_over_calls, stop_step, stop_bpstat and stop_soon by fields thread_control and inferior_control. (save_inferior_status): Rename to ... (save_infcall_control_state): ... here. Update the code for new fields. (restore_inferior_status): Rename to ... (restore_infcall_control_state): ... here. Update the code for new fields. (do_restore_inferior_status_cleanup): Rename to ... (do_restore_infcall_control_state_cleanup): ... here. (make_cleanup_restore_inferior_status): Rename to ... (make_cleanup_restore_infcall_control_state): ... here. (discard_inferior_status): Rename to ... (discard_infcall_control_state): ... here. * alpha-tdep.c, breakpoint.c, dummy-frame.c, dummy-frame.h, exceptions.c, fbsd-nat.c, gdbthread.h, infcall.c, infcmd.c, inferior.c, inferior.h, infrun.c, linux-nat.c, mi/mi-interp.c, mips-tdep.c, procfs.c, solib-irix.c, solib-osf.c, solib-spu.c, solib-sunos.c, solib-svr4.c, thread.c, windows-nat.c: Update all the references to the moved fields and renamed functions.
2010-11-28*** empty log message ***gdbadmin1-1/+1
2010-11-27*** empty log message ***gdbadmin1-1/+1
2010-11-26gdb/Jan Kratochvil2-1/+11
* infcall.c (struct inferior_thread_state) <siginfo_gdbarch>: Fix up the comment. (save_inferior_thread_state): Reset tp->stop_signal.
2010-11-26Fix ChangeLog entry.Jan Kratochvil1-1/+2
2010-11-26gdb/Jan Kratochvil2-2/+5
* infcall.c (caller_state_cleanup): Remove variable caller_state_cleanup.
2010-11-26*** empty log message ***gdbadmin1-1/+1
2010-11-252010-11-25 Marc Khouzam <marc.khouzam@ericsson.com>Marc Khouzam2-1/+7
PR breakpoints/12217 * breakpoint.c (is_marker_spec): Check for NULL.
2010-11-25 * breakpoint.h: No longer include python.h or python-internal.h.Pedro Alves5-13/+18
(struct breakpoint_object): Forward declare. * defs.h (PyObject) [!HAVE_PYTHON]: Don't define. * varobj.c (PyObject) [!HAVE_PYTHON]: Define. * python/py-breakpoint.c (build_bp_list): Cast py_bp_object to PyObject pointer. (gdbpy_breakpoint_created): Remove casts around py_bp_object accesses.
2010-11-25Build failure on ppc-aix (bfd_elf_get_obj_attr_int is undefined)Joel Brobecker2-0/+7
bfd_uses_spe_extensions should only be used when BFD has been built with ELF support. The typical way of checking that in GDB is to use the HAVE_ELF macro. gdb/ChangeLog: * rs6000-tdep.c (bfd_uses_spe_extensions): Use bfd_elf_get_obj_attr_int only if HAVE_ELF is defined.
2010-11-25*** empty log message ***gdbadmin1-1/+1
2010-11-24gdb/Jan Kratochvil2-4/+13
Code cleanup. * infrun.c (struct inferior_status) <stepping_over_breakpoint> (save_inferior_status) <stepping_over_breakpoint> (restore_inferior_status) <stepping_over_breakpoint>: Rename to trap_expected. (struct inferior_status) <step_resume_break_address>: Remove.
2010-11-24gdb/Jan Kratochvil2-26/+51
* infrun.c (struct inferior_status, save_inferior_status) (restore_inferior_status): Group and reorder the fields, comment their groups.
2010-11-24gdb/Jan Kratochvil6-50/+55
Code cleanup. * dictionary.c (struct dict_vector) <iter_match_first, iter_match_next> (iter_match_first_hashed, iter_match_next_hashed) (iter_match_first_linear, iter_match_next_linear) (dict_iter_match_first, dict_iter_match_next, iter_match_first_hashed) (iter_match_next_hashed, iter_match_first_linear) (iter_match_next_linear): Use symbol_compare_ftype. * dictionary.h: Include symfile.h. (dict_iter_match_first, dict_iter_match_next): Use symbol_compare_ftype. * dwarf2read.c (dw2_map_matching_symbols): Likewise. * psymtab.c (match_partial_symbol, match_partial_symbol, map_block) (map_matching_symbols_psymtab): Likewise. * symfile.h (symbol_compare_ftype): New typedef. (struct quick_symbol_functions) <map_matching_symbols): Use symbol_compare_ftype.
2010-11-242010-11-24 Edjunior Machado <emachado@br.ibm.com>Thiago Jung Bauermann2-3/+7
* gdb.asm/powerpc.inc: Use 'sys_exit' on gdbasm_exit0 macro.
2010-11-242010-11-24 Edjunior Machado <emachado@br.ibm.com>Thiago Jung Bauermann3-7/+103
* gdb.asm/asm-source.exp: Add new target "powerpc64"; expect leading `.' on ppc64's symbols; "finish" and "return" commands must accept to show the caller line again as well as the line after. * gdb.asm/powerpc64.inc: New file.
2010-11-24*** empty log message ***gdbadmin1-1/+1
2010-11-23 * lib/gdb.exp (gdb_test_sequence): New function.Doug Evans4-18/+50
(gdb_expect_list): Add verbose -log call for each pattern. * gdb.base/signals.exp (test_handle_all_print): Call it. Reduce timeout increment from 6 minutes to 1 minute. * gdb.server/ext-run.exp: Call it.
2010-11-23gdbTom Tromey6-10/+77
* configure: Rebuild. * configure.ac (READLINE_TEXI_INCFLAG): New subst. gdb/doc * gdb.texinfo (Top): Check SYSTEM_READLINE. (Editing): Likewise. (Command History): Likewise. (TUI Keys): Likewise. (Bug Reporting): Conditionally include rluser.texi and inc-history.texinfo. * Makefile.in (READLINE_TEXI_INCFLAG): New variable. (GDB_DOC_SOURCE_INCLUDES): Add comment. (GDBvn.texi): Set SYSTEM_READLINE when appropriate. (gdb.dvi): Use READLINE_TEXI_INCFLAG. (gdb.pdf): Likewise. (gdb.info): Likewise. (gdb/index.html): Likewise.
2010-11-23gdbTom Tromey8-3082/+23
* Makefile.in (SUBDIRS): Add doc. * configure: Rebuild. * configure.ac: Don't configure in doc. Create doc/Makefile. gdb/doc * Makefile.in (Makefile): Run ../config.status. (distclean): Update. * configure: Remove. * configure.ac: Remove.
2010-11-232010-11-23 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon4-1/+23
PR python/12212 * python/py-inferior.c (find_thread_object): Check if PIDGET returns 0. 2010-11-23 Phil Muldoon <pmuldoon@redhat.com> PR python/12212 * gdb.python/python.exp: Check that selected_thread raises an error when no inferior is loaded.
2010-11-23Delete redundant variable in ada_template_to_fixed_record_type_1.Joel Brobecker2-6/+10
gdb/ChangeLog: * ada-lang.c (ada_template_to_fixed_record_type_1): Delete bit_incr.
2010-11-23[Ada] array pointers encoded as typedef to fat pointerJoel Brobecker2-2/+42
A recent change in check_typedef caused the following regression, considering: type String_Access is access String; S1 : String_Access := null; Trying to print S1, we get: (gdb) print s1 $1 = (string) (null) The type name is wrong. We were expecting: (gdb) print s1 $1 = (string_bug.string_access) (null) The extensive comment in this patch explains how pointers to arrays are encoded when the array is a "fat pointer". What happened is that the change in check_typedef broke a type-equality test that we were performing. The test really was on the fringe, but it turns out that, for what we're doing, we're really only interested in the main-type portion of the type. The patch adjust the check accordingly. gdb/ChangeLog: * ada-lang.c (ada_to_fixed_type): Expand function documentation. Return the original type if the main type portions match rather than when the type themselves match.
2010-11-23GDB SEGV while trying to print uninitialize variant recordJoel Brobecker2-0/+20
We have a variant record whose value is defined as follow: type Discriminant_Record (Num1, Num2, Num3, Num4 : Natural) is record Field1 : My_Record_Array (1 .. Num2); Field2 : My_Record_Array (Num1 .. 10); Field3 : My_Record_Array (Num1 .. Num2); Field4 : My_Record_Array (Num3 .. Num2); Field5 : My_Record_Array (Num4 .. Num2); end record; Dire : Discriminant_Record (1, 7, 3, 0); However, we're trying to print "Dire" before it is elaborated. This is common if one breaks on a function and then starts doing "info locals" for instance. What happens is that GDB reads bogus values for fields Num1 to Num4, and deduces a bogus (ginormouos) size for component "Field1". The length is so large that it then later causes an overflow in the overall record length computation. Things go downhill from there, because length(field1) > length(record). So, when after we've fetched the value of the record based on the computed size, we crash trying to access unallocated memory when accessing field1... The first fix we can do is to check the size of the field against the maximum object size. If it exceeds that size, then we know the record will also exceed that size... gdb/ChangeLog: * ada-lang.c (ada_template_to_fixed_record_type_1): For dynamic fields, check the field size against the maximum object size.
2010-11-23support for mips-irix on-stack trampolinesJoel Brobecker2-0/+48
On mips-irix, the debugger has trouble stepping over the following line of code: S: Shape'Class := R; <<<<---- STOP here Here is what happens: (gdb) n warning: GDB can't find the start of the function at 0x7fff2bd8. GDB is unable to find the start of the function at 0x7fff2bd8 and thus can't determine the size of that function's stack frame. This means that GDB may be unable to access that stack frame, or the frames below it. This problem is most likely caused by an invalid program counter or stack pointer. However, if you think GDB should simply search farther back from 0x7fff2bd8 for code which looks like the beginning of a function, you can increase the range of the search using the `set heuristic-fence-post' command. 0x7fff2bd8 in ?? () The program does in fact jump to this code location, which is a trampoline located on the stack (there is an implicit call to a routine internally generated by the Ada expander). As it is on the stack, GDB is naturally unable to find the bounds of the current function, or any debugging information, and is thus unable to continue. This patch adds support for this sort of trampoline. gdb/ChangeLog: * mips-irix-tdep.c (mips_irix_n32_stack_tramp_frame_init): New function. (mips_irix_n32_stack_tramp_frame): New static global. (mips_irix_init_abi): Add mips_irix_n32_stack_tramp_frame to list of unwinder.
2010-11-23[Ada/tasks] Optimize ATCB lookupsJoel Brobecker2-5/+19
Type symbols that are used to decode the Ada task control block may be duplicated in any unit that uses a tasking feature; an Ada lookup of these symbols would collect all the duplicated instances and could provoke the load of a huge amount of debug symbols in the process. However, when decoding the task information, we are only interested in one instance; and we have the full name of the symbol anyway. So use a C lookup instead of an Ada lookup. 2010-11-05 Jerome Guitton <guitton@adacore.com> * ada-tasks.c (get_tcb_types_info): Use C lookups to get ATCB symbols.
2010-11-23infinite recursion with ada_check_typedefJoel Brobecker2-4/+11
When trying to resolve an incomplete type, if there is no complete version of that type available, GDB can go in an infinite loop. This is because ada_check_typedef makes a recursive call to itself, in an attempt to make sure that the returned type is never a typedef. However, when no complete type is found, the current logic causes us to keep going indefinitely through the same path... This patch fixes the problem by performing the recursive call to ada_check_typedef only when a TYPE_CODE_TYPDEF layer needs to be stripped. gdb/ChangeLog: * ada-lang.c (ada_check_typedef): Call ada_check_typedef only if type1 is a typedef.
2010-11-23Add `_finalizer' to the list of known GNAT auxilary routines.Joel Brobecker2-1/+7
This is a new routine that is being generated by the expander in the context of controlled types. This patch adds it to the list of such routines so that the debugger does not show it when selecting the first "user" frame (when switching tasks for instance). gdb/ChangeLog: * ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Add "_finalizer" to the list.
2010-11-23Remove commented-out code in symfile.cJoel Brobecker2-71/+4
This patch removes some code that has been `#if 0'-ed since at least 1999 or 2000... gdb/ChangeLog: * symfile.c: Remove all "#if 0"/"#endif" blocks.
2010-11-23symfile.c: Add missing second space after period.Joel Brobecker2-4/+8
gdb/ChangeLog: * symfile.c: Add missing second space after period in various comments.
2010-11-23Minor comment reformatting in ada-typeprint.cJoel Brobecker2-4/+9
gdb/ChangeLog: * ada-typeprint.c (print_array_type): Fix formatting in comment. (print_selected_record_field_types): Fix formatting in function documentation.
2010-11-23copy/paste typo when registering the `show ravenscar' prefix commandJoel Brobecker2-1/+6
gdb/ChangeLog: * ravenscar-thread.c (_initialize_ravenscar): Fix copy/paste typo in name of "show ravenscar" prefix command name.
2010-11-23Add missing \n in `show ravenscar task-switching' outputJoel Brobecker2-2/+7
A new-line was missing at the end of the output of the `show ravenscar task-switching' command. For instance: (gdb) show ravenscar task-switching Support for Ravenscar task/thread switching is enabled(gdb) This patch fixes it. gdb/ChangeLog: * ravenscar-thread.c (show_ravenscar_task_switching_command): Add missing '\n' in output.
2010-11-23[Ada/ravenscar] New name for active-thread symbolJoel Brobecker2-10/+41
The GNAT Ravenscar implementation has recently been enhanced to allow programs using that runtime to run on multi-cpu systems. One of the changes that were made is that the name of the symbol we use to determine which task is the currently-running task has changed. This patch enhances the debugger to use the new name, and fallback on the old name if not found (this is for compatibility with older versions of the compiler/runtime). gdb/ChangeLog: * ravenscar-thread.c (running_thread_name): Change value. (read_thread_id): Remove advance declaration. (get_running_thread_msymbol): New function. (has_ravenscar_runtime): Use get_running_thread_msymbol to compute msym_running_thread. (get_running_thread_id): Renames read_thread_id. Slight modifications to not take any argument anymore, using get_running_thread_msymbol to determine which symbol to use instead. (ravenscar_running_thread): Use get_running_thread_id instead of read_thread_id.
2010-11-23Move ChangeLog entry to the correct ChangeLog file.Joel Brobecker1-0/+5
2010-11-23ravenscar/sparc: cannot fetch registers from non-active threadJoel Brobecker1-1/+1
gdb/ChangeLog: * ravenscar-sparc-thread.c (supply_register_at_address): Fix passing of buf in call to regcache_raw_supply.
2010-11-23*** empty log message ***gdbadmin1-1/+1
2010-11-22gdb/Jan Kratochvil2-0/+8
* dwarf2read.c (dwarf2_read_index): Ignore higher .gdb_index versions.
2010-11-22 * Makefile.in (.PRECIOUS): Reference ada-lex.c.Tom Tromey2-1/+5
2010-11-22*** empty log message ***gdbadmin1-1/+1
2010-11-21*** empty log message ***gdbadmin1-1/+1
2010-11-20gdb/testsuite/Jan Kratochvil3-0/+125
* gdb.dwarf2/dw2-stack-boundary.exp: New file. * gdb.dwarf2/dw2-stack-boundary.S: New file.
2010-11-20gdb/testsuite/Jan Kratochvil3-0/+104
* gdb.dwarf2/dw2-ada-ffffffff.S: New file. * gdb.dwarf2/dw2-ada-ffffffff.exp: New file.
2010-11-20*** empty log message ***gdbadmin1-1/+1