aboutsummaryrefslogtreecommitdiff
path: root/gdb
AgeCommit message (Collapse)AuthorFilesLines
2011-01-14 * target.h (deprecated_child_ops): Delete declaration.Pedro Alves3-8/+5
* target.c (deprecated_child_ops): Delete definition.
2011-01-14 gdb/Pedro Alves1-16/+0
* Makefile.in (hpux-thread.o): Delete rule. * configure.ac: Don't check for HPUX DCE threads support. * configure, config.in: Regenerate. * hppa-hpux-nat.c (child_suppress_run): Delete. (hppa_hpux_child_can_run): Delete. (_initialize_hppa_hpux_nat): Don't override to_can_run. * hpux-thread.c: Delete.
2011-01-14 * Makefile.in (hpux-thread.o): Delete rule.Pedro Alves6-616/+10
* configure.ac: Don't check for HPUX DCE threads support. * configure, config.in: Regenerate. * hppa-hpux-nat.c (child_suppress_run): Delete. (hppa_hpux_child_can_run): Delete. (_initialize_hppa_hpux_nat): Don't override to_can_run. * hpux-thread.c: Delete.
2011-01-14*** empty log message ***gdbadmin1-1/+1
2011-01-13delete hpux_pid_to_str (unused)Joel Brobecker2-13/+4
This function is unused, and the default formatting routine does just fine, I think. On pa-hpux: [New process 12565, lwp 2513] [New process 12565, lwp 2514] So this patch deletes it. gdb/ChangeLog: * hpux-thread.c (hpux_pid_to_str): Delete.
2011-01-13[Ada] Fix printing of Wide_Wide_StringsJoel Brobecker2-10/+18
This fixes the printing of Wide_Wide_String objects. For instance, consider: My_WWS : Wide_Wide_String := " helo"; Before this patch is applied, GDB prints: (gdb) print my_wws $1 = " ["00"]h["00"]e" gdb/ChangeLog: * ada-valprint.c (ada_emit_char): Remove strange code. Check that c is <= UCHAR_MAX before passing it to isascii. (char_at): Do not assume that TYPE_LEN is either 1 or 2.
2011-01-13problem sourcing GDB script in interactive-mode onJoel Brobecker4-1/+58
When interactive-mode is not auto, GDB always uses that setting to determine whether to act as if the input stream is a terminal or not. However, this setting should only be honored if the input stream is the standard input stream. Otherwise, we run into trouble while source-ing a GDB script, as shown below (on x86_64-linux): % cat script print 1 print 2 % gdb -q (gdb) set interactive-mode on (gdb) source script (gdb) print 3 $1 = 3 The lack of output and the fact that the "print 3" command returned a value saved in $1 (as opposed to $3) indicates that the script was not even evaluated at all. gdb/ChangeLog: * top.c (input_from_terminal_p): Restrict the use of interactive_mode to the case where instream is stdin. gdb/testsuite/ChangeLog: * gdb.base/interact.exp: New testcase.
2011-01-13[ia64-hpux] inferior function call supportJoel Brobecker6-17/+464
We have two stacks to deal with on ia64, when making a function call. The first is the usual stack frame, and the second is the register stack frame. On ia64-linux, the register frame is setup by adjusting the BSP register. Unfortunately for us, the HP-UX kernel does not allow the debugger to change the value of the BSP. To work around that limitation, the method I am using here is to push some assembly code on the stack. This assembly code contains, among other things, a call to the alloc insn, which sets up our frame for us. An extensive comment in ia64-hpux-tdep.c explains the entire procedure. Despite this approach, most of the code in ia64-tdep.c which sets up the function call is still applicable - and only a few things need to be done differently: For instance, instead of changing the BSP, we do nothing. We store the parameters at a different location, etc. So this patch also adjusts the inf-call code in ia64-tdep.c to make it a little more extensible: I create a new ia64_infcall_ops structure which allows an ABI to define how the few things that need to be differentiated. Another element that turned out to be necessary but is more of a detail is that the computation of the linkage pointer needs to be handled specially for symbols inside shared libraries. This is especially visible when calling malloc, which happens everytime memory needs to be allocated in inferior memory... The special treatment included again the necessity to use some routines only available on the host. So another target object TARGET_OBJECT_HPUX_SOLIB_GOT was created for that purpose. gdb/ChangeLog: * ia64-tdep.h (struct regcache): Forward declare. (struct ia64_infcall_ops): New struct type. (struct gdbarch_tdep): New fields "find_global_pointer_from_solib" and "infcall_ops". * ia64-tdep.c (ia64_find_global_pointer_from_dynamic_section): Renames ia64_find_global_pointer. (ia64_find_global_pointer, ia64_allocate_new_rse_frame) (ia64_store_argument_in_slot, ia64_set_function_addr: New function. (ia64_push_dummy_call): Adjust to use the new tdep ia64_infocall_ops methods. (ia64_infcall_ops): New static global constant. (ia64_gdbarch_init): Set tdep->infcall_ops. * ia64-hpux-nat.c (ia64_hpux_xfer_solib_got): New function. (ia64_hpux_xfer_partial): Add TARGET_OBJECT_HPUX_SOLIB_GOT handing. * ia64-hpux-tdep.c: Include "regcache.h", "gdbcore.h" and "inferior.h". (ia64_hpux_dummy_code): New static global constant. (ia64_hpux_push_dummy_code, ia64_hpux_allocate_new_rse_frame) (ia64_hpux_store_argument_in_slot, ia64_hpux_set_function_addr) (ia64_hpux_dummy_id, ia64_hpux_find_global_pointer_from_solib): New function. (ia64_hpux_infcall_ops): New static global constant. (ia64_hpux_init_abi): Install gdbarch and tdep methods needed for inferior function calls to work properly on ia64-hpux.
2011-01-13[ia64-hpux] unwinding bsp value from system callJoel Brobecker6-2/+122
This fixes unwinding from a thread that is stopped inside a system call. This can be seen when switching to a thread that is stopped doing a pthread_cond_wait, for instance... The comments inside the code should explain what is happening in our case (the HP-UX exception in the case of system calls): Under certain circumstances (program stopped inside syscall), the offset to apply to the current BSP in order to compute the previous BSP is not the usual CFM & 0x7f. We parts in this patch: 1. Figuring out that we are stopped inside a syscal: This requires a TT_LWP_RUREGS ttrace call, which is not directly possible from ia64-tdep.c. So use defined a new TARGET_OBJECT_HPUX_UREGS object to request it from the -nat side. 2. Add a gdbarch_tdep method that allows us to change the default behavior on ia64-hpux, permitting us to have a different "size of register frame" in that one particular case. gdb/ChangeLog: * target.h (enum target_object): Add TARGET_OBJECT_HPUX_UREGS. * ia64-tdep.h (struct frame_info): forward declaration. (struct gdbarch_tdep): Add field size_of_register_frame. * ia64-tdep.c (ia64_access_reg): Use tdep->size_of_register_frame to determine the size of the register frame. (ia64_size_of_register_frame): New function. (ia64_gdbarch_init): Set tdep->size_of_register_frame. * ia64-hpux-tdep.c: Include "target.h" and "frame.h". (IA64_HPUX_UREG_REASON): New macro. (ia64_hpux_stopped_in_syscall, ia64_hpux_size_of_register_frame): New functions. (ia64_hpux_init_abi): Set tdep->size_of_register_frame. * ia64-hpux-nat.c (ia64_hpux_xfer_uregs): New function. (ia64_hpux_xfer_partial): Add handling of TARGET_OBJECT_HPUX_UREGS objects.
2011-01-13port GDB to ia64-hpux (native).Joel Brobecker10-2/+1521
ChangeLog: * configure.ac: Remove readline, mmalloc, and gdb from noconfigdirs for ia64-hpux. * configure: Regenerate. gdb/ChangeLog: * config/ia64/hpux.mh, ia64-hpux-nat.c, ia64-hpux-tdep.c, ia64-hpux-tdep.h, solib-ia64-hpux.c, solib-ia64-hpux.h: New files. * configure.host: Add handling for ia64-hpux hosts. Add associated floatformats. * configure.tgt: Add handling for ia64-hpux targets. * Makefile.in (ALL_64_TARGET_OBS): Add ia64-hpux-tdep.o. (HFILES_NO_SRCDIR): Add ia64-hpux-tdep.h. (ALLDEPFILES): Add ia64-hpux-nat.c ia64-hpux-tdep.c.
2011-01-13[hpux/ttrace] Determine attached process LWP immediately after attaching.Joel Brobecker2-5/+55
When attaching to a process, the ttrace interface was creating a ptid with a null LWP, because it did not have it yet. This LWP was then set as soon as we received our first event from our inferior, during our first wait. Similarly, the allocation of the thread private info was also defered. This works on PA/HP-UX, because we immediately perform a wait to pop the event triggered by the attach. We can use that event to extract the thread's LWP. But this does not work for IA64/HP-UX, because the attach no longer triggers an event, and thus a wait should NOT be performed (such a wait would simply block indefinitely). It is actually possible, however, to determine the thread's LWP. This change therefore adjusts the attach code to create a thread with the correct LWP set, as well as with its private info allocated. Same thing for all the other threads. gdb/ChangeLog: [ttrace] Compute thread list immediately after attach. * inf_ttrace_attach (inf_ttrace_create_threads_after_attach): New subprogram. (inf_ttrace_attach): Use it.
2011-01-13[libunwind-frame] handle functions with no minimal symbol/debug info.Joel Brobecker2-7/+19
This is something that I am seeing on ia64-hpux while trying to backtrace from a thread that's doing a wait: (gdb) task 2 [Switching to task 2] 0x9fffffffef52f590 in __ksleep () from /[...]/libc.so.1 (gdb) bt #0 0x9fffffffef52f590 in __ksleep () from /[...]/libc.so.1 #1 0x9fffffffef73c870 in __sleep_1x1 () from /[...]/libpthread.so.1 #2 0x9fffffffef738fe0 in __mxn_sleep () from /[...]/libpthread.so.1 #3 0x9fffffffef675e90 in ?? () from /[...]/libpthread.so.1 The backtrace is incomplete and stops at frame #3, but there are in fact a few more frames. The reason why we stopped the backtrace is related to the fact that we were not able to determine the start address of the function corresponding to the frame PC. This is visible at the user level thanks to the "??" that GDB displayed for frame 3. We have the following code in libunwind-frame.c:libunwind_frame_cache which explicitly returns a NULL cache when we couldn't determine the frame's function address, immediately triggering an end-of-stack frame_id, thus terminating the backtrace: /* We can assume we are unwinding a normal frame. Even if this is for a signal trampoline, ia64 signal "trampolines" use a normal subroutine call to start the signal handler. */ cache->func_addr = get_frame_func (this_frame); if (cache->func_addr == 0 && get_next_frame (this_frame) && get_frame_type (get_next_frame (this_frame)) == NORMAL_FRAME) return NULL; As explained in the comment, I think we can still go on, and use the unwind record to do the debugging. This change imlements this change, and allows us to get the full backtrace. gdb/ChangeLog: * libunwind-frame.c (libunwind_frame_cache): Do not return NULL if we could not determine the frame's function address. Instead, use the frame's PC, and then continue.
2011-01-13Make sure __LITTLE_ENDIAN/__BIG_ENDIAN are defined in libunwind-frame.cJoel Brobecker2-0/+15
These macros do not seem to exist on ia64-hpux. gdb/ChangeLog: * libunwind-frame.c (__LITTLE_ENDIAN, __BIG_ENDIAN): Define if not already defined.
2011-01-13[ia64] small integral parameters and return valuesJoel Brobecker2-2/+55
This patch fixes a small problem on ia64-hpux when calling functions whose parameter are small integral values (less than 8 bytes). In that case, the parameter value was stored on the wrong side of the register. Same problem for return values. With this patch, the results for gdb.base/callfuncs.exp improve from # of expected passes 41 # of unexpected failures 78 To: # of expected passes 95 # of unexpected failures 24 gdb/ChangeLog: * ia64-tdep.c (ia64_struct_type_p): New function. (ia64_extract_return_value): Handle integral values that are less than 8 bytes long. (ia64_push_dummy_call): Likewise.
2011-01-13[ia64] Add a big-endian version of the ia64-ext floatformatJoel Brobecker2-4/+17
ia64-tdep.c defines a floatformats_ia64_ext that should contain both the little-endian and the big-endian version of the float format used in the ia64 registers (an 82bit float format). Right now, both entries point to the same little-endian definition. A big-endian definition is now necessary for the ia64-hpux port. gdb/ChangeLog: * ia64-tdep.c (floatformat_ia64_ext_little): Renames floatformat_ia64_ext. (floatformat_ia64_ext_big): New static const. (floatformats_ia64_ext): Set first entry to &floatformat_ia64_ext_big.
2011-01-13*** empty log message ***gdbadmin1-1/+1
2011-01-12gdbTom Tromey27-121/+191
* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Fix error messages. * mi/mi-main.c (mi_cmd_thread_select): Fix error messages. (mi_cmd_thread_list_ids): Likewise. (mi_cmd_data_list_changed_registers): Likewise. (mi_cmd_data_list_register_values): Likewise. (mi_cmd_data_write_register_values): Likewise. (mi_cmd_data_evaluate_expression): Likewise. (mi_cmd_data_read_memory): Likewise. (mi_cmd_data_read_memory_bytes): Likewise. (mi_cmd_data_write_memory): Likewise. (mi_cmd_enable_timings): Likewise. * mi/mi-interp.c (mi_cmd_interpreter_exec): Fix error messages. * mi/mi-cmd-var.c (mi_cmd_var_create): Fix error messages. (mi_cmd_var_delete): Likewise. (mi_cmd_var_set_format): Likewise. (mi_cmd_var_show_format): Likewise. (mi_cmd_var_info_num_children): Likewise. (mi_cmd_var_list_children): Likewise. (mi_cmd_var_info_type): Likewise. (mi_cmd_var_info_expression): Likewise. (mi_cmd_var_show_attributes): Likewise. (mi_cmd_var_assign): Likewise. (mi_cmd_var_update): Likewise. (mi_cmd_enable_pretty_printing): Likewise. (mi_cmd_var_set_update_range): Likewise. * mi/mi-cmd-target.c (mi_cmd_target_file_get): Fix error messages. (mi_cmd_target_file_put): Likewise. (mi_cmd_target_file_delete): Likewise. * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Fix error messages. (mi_cmd_stack_info_depth): Likewise. (mi_cmd_stack_list_locals): Likewise. (mi_cmd_stack_list_args): Likewise. (mi_cmd_stack_select_frame): Likewise. (mi_cmd_stack_select_frame): Likewise. (mi_cmd_stack_info_frame): Likewise. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Fix error messages. (mi_cmd_file_list_exec_source_files): Likewise. * mi/mi-cmd-env.c (mi_cmd_env_pwd): Fix error messages. (mi_cmd_env_cd): Likewise. (mi_cmd_env_path): Likewise. (mi_cmd_env_dir): Likewise. (mi_cmd_inferior_tty_show): Likewise. * mi/mi-cmd-disas.c (mi_cmd_disassemble): Fix error messages. * mi/mi-cmd-break.c (mi_cmd_break_insert): Fix error messages. (mi_cmd_break_watch): Likewise. gdb/testsuite * gdb.mi/gdb2549.exp: Update for error message changes. * gdb.mi/mi-cli.exp: Likewise. * gdb.mi/mi-disassemble.exp: Likewise. * gdb.mi/mi-pthreads.exp: Likewise. * gdb.mi/mi-regs.exp: Likewise. * gdb.mi/mi-stack.exp: Likewise. * gdb.mi/mi-var-block.exp: Likewise. * gdb.mi/mi-var-cmd.exp: Likewise. * gdb.mi/mi2-cli.exp: Likewise. * gdb.mi/mi2-disassemble.exp: Likewise. * gdb.mi/mi2-pthreads.exp: Likewise. * gdb.mi/mi2-regs.exp: Likewise. * gdb.mi/mi2-stack.exp: Likewise. * gdb.mi/mi2-var-block.exp: Likewise. * gdb.mi/mi2-var-cmd.exp: Likewise.
2011-01-122011-01-12 Thiago Jung Bauermann <bauerman@br.ibm.com>Thiago Jung Bauermann2-19/+26
* ppc-linux-nat.c (booke_cmp_hw_point): Fix whitespace. (ppc_linux_insert_hw_breakpoint): Likewise. (ppc_linux_remove_hw_breakpoint): Likewise. (ppc_linux_insert_watchpoint): Likewise.
2011-01-12gdb/Jan Kratochvil6-43/+144
PR fortran/11104 and DWARF unbound arrays detection. * dwarf2read.c (read_subrange_type): Set zero length on unspecified upper bound. Set TYPE_HIGH_BOUND_UNDEFINED if not language_ada on unspecified upper bound. * eval.c (evaluate_subexp_standard) <multi_f77_subscript>: Remove variables array_size_array, tmp_type and offset_item. New variable array. Remove call to f77_get_upperbound. New variables array_type and index. Call value_subscripted_rvalue for each dimenasion. Remove the final call to deprecated_set_value_type. gdb/testsuite/ PR fortran/11104 and DWARF unbound arrays detection. * gdb.fortran/multi-dim.exp: New file. * gdb.fortran/multi-dim.f90: New file.
2011-01-12gdb/Jan Kratochvil7-35/+72
Make value allocations more lazy. * ada-lang.c (coerce_unspec_val_to_type): Use allocate_value_lazy instead of allocate_value and set_value_lazy when possible. * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Use allocate_value_lazy instead of allocate_value and set_value_lazy. * findvar.c (value_of_register_lazy): Likewise. (read_var_value): Remove V preallocation, call just check_typedef in advance. Move allocate_value to LOC_CONST, LOC_LABEL, LOC_CONST_BYTES. Use allocate_value_lazy in LOC_STATIC, LOC_ARG, LOC_REF_ARG, LOC_LOCAL, LOC_BLOCK. Set ADDR instead of set_value_address and break in LOC_BLOCK. Use allocate_value_lazy and remove lval_memory set in LOC_REGPARM_ADDR. Use allocate_value_lazy in LOC_UNRESOLVED and LOC_OPTIMIZED_OUT. Add setting lval_memory at the end, remove set_value_lazy there. * valarith.c (value_subscripted_rvalue): Use allocate_value_lazy instead of allocate_value and set_value_lazy when possible. * valops.c (value_fetch_lazy): Do nop for value_optimized_out VAL. * value.c (allocate_computed_value): Use allocate_value_lazy instead of allocate_value and set_value_lazy. (value_from_contents_and_address): Use allocate_value_lazy instead of allocate_value and set_value_lazy when possible.
2011-01-12http://sourceware.org/ml/gdb-patches/2010-12/msg00299.htmlAndrew Burgess9-17/+164
gdb/ * disasm.c (dump_insns): Support dumping opcodes for MI. * mi/mi-cmd-disas.c (mi_cmd_disassemble): Allow mode to control dumping of instruction opcodes. gdb/doc/ * gdb.texinfo (GDB/MI Data Manipulation): Update to reflect changes in mi/mi-cmd-disas.c gdb/testsuite/ * gdb.mi/mi-disassemble.exp, gdb.mi/mi2-disassemble.exp: Update expected output to reflect changes in gdb/mi/mi-cmd-disas.c and add new tests for opcode dumping.
2011-01-12 * gdb.texinfo (Threads): Remove duplicate text. Update examples.Tom Tromey2-65/+13
Fix "thread apply" text.
2011-01-12Detect GNU/kFreeBSD and set `gdb_osabi' appropiatelyJoel Brobecker2-1/+7
2011-01-09 Robert Millan <rmh@gnu.org> * configure.tgt: Detect GNU/kFreeBSD and set `gdb_osabi' appropiately.
2011-01-12Revert erroneous commitTom Tromey2-13/+65
2011-01-12 * thread.c (do_captured_thread_select): Emit newline beforeTom Tromey4-66/+22
printing frame.
2011-01-122011-01-11 Michael Snyder <msnyder@vmware.com>Michael Snyder27-726/+811
* ui-file.c: Comment cleanup, mostly periods and spaces. * ui-file.h: Ditto. * ui-out.c: Ditto. * ui-out.h: Ditto. * utils.c: Ditto. * v850-tdep.c: Ditto. * valarith.c: Ditto. * valops.c: Ditto. * valprint.c: Ditto. * valprint.h: Ditto. * value.c: Ditto. * value.h: Ditto. * varobj.c: Ditto. * varobj.h: Ditto. * vax-tdep.c: Ditto. * vec.c: Ditto. * vec.h: Ditto. * version.h: Ditto. * windows-nat.c: Ditto. * windows-tdep.c: Ditto. * xcoffread.c: Ditto. * xcoffsolib.c: Ditto. * xml-support.c: Ditto. * xstormy16-tdep.c: Ditto. * xtensa-tdep.c: Ditto. * xtensa-tdep.h: Ditto.
2011-01-12*** empty log message ***gdbadmin1-1/+1
2011-01-112011-01-11 Michael Snyder <msnyder@vmware.com>Michael Snyder61-1118/+1232
* s390-tdep.c: Comment cleanup, mostly periods and spaces. * score-tdep.c: Ditto. * score-tdep.h: Ditto. * ser-base.c: Ditto. * ser-go32.c: Ditto. * serial.c: Ditto. * serial.h: Ditto. * ser-mingw.c: Ditto. * ser-pipe.c: Ditto. * ser-tcp.c: Ditto. * ser-unix.c: Ditto. * sh64-tdep.c: Ditto. * shnbsd-nat.c: Ditto. * sh-tdep.c: Ditto. * sh-tdep.h: Ditto. * solib.c: Ditto. * solib-darwin.c: Ditto. * solib-frv.c: Ditto. * solib.h: Ditto. * solib-irix.c: Ditto. * solib-osf.c: Ditto. * solib-pa64.c: Ditto. * solib-som.c: Ditto. * solib-spu.c: Ditto. * solib-sunos.c: Ditto. * solib-svr4.c: Ditto. * solist.h: Ditto. * sol-thread.c: Ditto. * somread.c: Ditto. * source.c: Ditto. * source.h: Ditto. * sparc64-linux-tdep.c: Ditto. * sparc64-tdep.c: Ditto. * sparc-linux-nat.c: Ditto. * sparc-linux-tdep.c: Ditto. * sparc-sol2-nat.c: Ditto. * sparc-sol2-tdep.c: Ditto. * sparc-tdep.c: Ditto. * sparc-tdep.h: Ditto. * spu-tdep.c: Ditto. * stabsread.c: Ditto. * stabsread.h: Ditto. * stack.c: Ditto. * symfile.c: Ditto. * symfile.h: Ditto. * symmisc.c: Ditto. * symtab.c: Ditto. * symtab.h: Ditto. * target.c: Ditto. * target-descriptions.c: Ditto. * target-descriptions.h: Ditto. * target.h: Ditto. * target-memory.c: Ditto. * terminal.h: Ditto. * thread.c: Ditto. * top.c: Ditto. * tracepoint.c: Ditto. * tracepoint.h: Ditto. * trad-frame.h: Ditto. * typeprint.c: Ditto.
2011-01-11 * gdb.python/py-infthread.exp: Load gdb-python.exp.Tom Tromey2-0/+6
2011-01-112011-01-11 Thiago Jung Bauermann <bauerman@br.ibm.com>Thiago Jung Bauermann3-4/+9
* breakpoint.c (resources_needed_watchpoint): Fix indentation. * gdbtypes.c (is_scalar_type_recursive): Fix formatting.
2011-01-112011-01-11 Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>Thiago Jung Bauermann11-78/+346
Thiago Jung Bauermann <bauerman@br.ibm.com> Implement support for PowerPC BookE ranged watchpoints. gdb/ * breakpoint.h (struct breakpoint_ops) <resources_needed>: New method. Initialize to NULL in all existing breakpoint_ops instances. (struct breakpoint) <exact>: New field. (target_exact_watchpoints): Declare external global. * breakpoint.c (target_exact_watchpoints): New global flag. (update_watchpoint): Set b->type to bp_hardware_watchpoint and b->enable_state to bp_enabled before calling hw_watchpoint_used_count. (hw_watchpoint_used_count): Iterate over all bp_locations in a watchpoint. Call breakpoint's breakpoint_ops.resources_needed if available. (insert_watchpoint, remove_watchpoint): Use fixed length of 1 byte if the watchpoint is exact. (resources_needed_watchpoint): New function. (watchpoint_breakpoint_ops): Add resources_needed_watchpoint. (watch_command_1): Set b->exact if the user asked for an exact watchpoint and one can be set. (can_use_hardware_watchpoint): Add exact_watchpoints argument. Pass fixed length of 1 to target_region_ok_for_hw_watchpoint if the user asks for an exact watchpoint and one can be set. Return number of needed debug registers to watch the expression. * gdbtypes.c (is_scalar_type): New function, based on valprint.c:scalar_type_p. (is_scalar_type_recursive): New function. * gdbtypes.h (is_scalar_type_recursive): Declare. * ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint): Always handle regions when ranged watchpoints are available. (create_watchpoint_request): New function. (ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint): Use create_watchpoint_request. * rs6000-tdep.c (show_powerpc_exact_watchpoints): New function. (_initialize_rs6000_tdep): Add `exact-watchpoints' boolean to the `set powerpc' and `show powerpc' commands. * target.h (struct target_ops) <to_region_ok_for_hw_watchpoint>: Mention documentation comment in the target macro. (target_region_ok_for_hw_watchpoint): Document return value. gdb/doc/ * gdb.texinfo (PowerPC Embedded): Document ranged watchpoints and the "set powerpc exact-watchpoints" flag.
2011-01-112011-01-11 Thiago Jung Bauermann <bauerman@br.ibm.com>Thiago Jung Bauermann2-34/+49
* breakpoint.c (update_watchpoint): Decide on using a software or hardware watchpoint after the bp_locations are created.
2011-01-112010-01-11 Thiago Jung Bauermann <bauerman@br.ibm.com>Thiago Jung Bauermann11-170/+205
Convert hardware watchpoints to use breakpoint_ops. gdb/ * breakpoint.h (breakpoint_ops) <insert>: Rename to... <insert_location>: ... this. Return int instead of void. Accept pointer to struct bp_location instead of pointer to struct breakpoint. Adapt all implementations. (breakpoint_ops) <remove>: Rename to... <remove_location>: ... this. Accept pointer to struct bp_location instead of pointer to struct breakpoint. Adapt all implementations. * breakpoint.c (insert_catchpoint): Delete function. (insert_bp_location): Call the watchpoint or catchpoint's breakpoint_ops.insert method. (remove_breakpoint_1): Call the watchpoint or catchpoint's breakpoint_ops.remove method. (insert_watchpoint, remove_watchpoint): New functions. (watchpoint_breakpoint_ops): New structure. (watch_command_1): Initialize the OPS field. * inf-child.c (inf_child_insert_fork_catchpoint) (inf_child_remove_fork_catchpoint, inf_child_insert_vfork_catchpoint) (inf_child_remove_vfork_catchpoint, inf_child_insert_exec_catchpoint) (inf_child_remove_exec_catchpoint, inf_child_set_syscall_catchpoint): Delete functions. (inf_child_target): Remove initialization of to_insert_fork_catchpoint, to_remove_fork_catchpoint, to_insert_vfork_catchpoint, to_remove_vfork_catchpoint, to_insert_exec_catchpoint, to_remove_exec_catchpoint and to_set_syscall_catchpoint. * target.c (update_current_target): Change default implementation of to_insert_fork_catchpoint, to_remove_fork_catchpoint, to_insert_vfork_catchpoint, to_remove_vfork_catchpoint, to_insert_exec_catchpoint, to_remove_exec_catchpoint and to_set_syscall_catchpoint to return_one. (debug_to_insert_fork_catchpoint, debug_to_insert_vfork_catchpoint) (debug_to_insert_exec_catchpoint): Report return value. * target.h (to_insert_fork_catchpoint, to_insert_vfork_catchpoint) (to_insert_exec_catchpoint): Change declaration to return int instead of void. gdb/testsuite/ * gdb.base/foll-exec.exp: Adapt to new error string when the catchpoint type is not supported. * gdb.base/foll-fork.exp: Likewise. * gdb.base/foll-vfork.exp: Likewise.
2011-01-112011-01-11 Michael Snyder <msnyder@vmware.com>Michael Snyder20-75/+104
* arm-tdep.c: Internationalization. * c-lang.c: Ditto. * charset.c: Ditto. * fork-child.c: Ditto. * nto-procfs.c: Ditto. * ppc-sysv-tdep.c: Ditto. * procfs.c: Ditto. * remote-mips.c: Ditto. * remote.c: Ditto. * rs6000-nat.c: Ditto. * rs6000-tdep.c: Ditto. * target.c: Ditto. * valops.c: Ditto. * value.c: Ditto. * xml-support.c: Ditto. * mi/mi-cmd-break.c: Ditto. * mi/mi-cmd-var.c: Ditto. * mi/mi-interp.c: Ditto. * mi/mi-main.c: Ditto.
2011-01-11http://sourceware.org/ml/gdb-patches/2010-11/msg00112.htmlAndrew Burgess2-3/+12
gdb/ChangeLog * remote-sim.c (gdbsim_store_register): Update API to sim_store_register to check more error conditions. include/gdb/ChangeLog * remote-sim.h (sim_store_register): Update the API documentation for this function. sim/erc32/ChangeLog sim/h8300/ChangeLog sim/m32c/ChangeLog sim/mn10300/ChangeLog sim/ppc/ChangeLog sim/rx/ChangeLog sim/v850/ChangeLog * ???.c (sim_store_register): Update return value to match new API.
2011-01-11Fix change log omission.Michael Snyder1-0/+17
2011-01-11*** empty log message ***gdbadmin1-1/+1
2011-01-102011-01-10 Michael Snyder <msnyder@vmware.com>Michael Snyder53-937/+1097
* nto-procfs.c: Comment cleanup, mostly periods and spaces. * nto-tdep.c: Ditto. * nto-tdep.h: Ditto. * objc-exp.y: Ditto. * objc-lang.c: Ditto. * objfiles.c: Ditto. * objfiles.h: Ditto. * observer.c: Ditto. * opencl-lang.c: Ditto. * osabi.c: Ditto. * parse.c: Ditto. * parser-defs.h: Ditto. * p-exp.y: Ditto. * p-lang.c: Ditto. * posix-hdep.c: Ditto. * ppcbug-rom.c: Ditto. * ppc-linux-nat.c: Ditto. * ppc-linux-tdep.c: Ditto. * ppc-linux-tdep.h: Ditto. * ppcnbsd-tdep.c: Ditto. * ppcobsd-tdep.c: Ditto. * ppcobsd-tdep.h: Ditto. * ppc-sysv-tdep.c: Ditto. * ppc-tdep.h: Ditto. * printcmd.c: Ditto. * proc-abi.c: Ditto. * proc-flags.c: Ditto. * procfs.c: Ditto. * proc-utils.h: Ditto. * progspace.h: Ditto. * prologue-value.c: Ditto. * prologue-value.h: Ditto. * psympriv.h: Ditto. * psymtab.c: Ditto. * p-typeprint.c: Ditto. * p-valprint.c: Ditto. * ravenscar-sparc-thread.c: Ditto. * ravenscar-thread.c: Ditto. * ravenscar-thread.h: Ditto. * record.c: Ditto. * regcache.c: Ditto. * regcache.h: Ditto. * remote.c: Ditto. * remote-fileio.c: Ditto. * remote-fileio.h: Ditto. * remote.h: Ditto. * remote-m32r-sdi.c: Ditto. * remote-mips.c: Ditto. * remote-sim.c: Ditto. * rs6000-aix-tdep.c: Ditto. * rs6000-nat.c: Ditto. * rs6000-tdep.c: Ditto.
2011-01-102011-01-10 Michael Snyder <msnyder@vmware.com>Michael Snyder14-75/+79
* charset.c (validate): Internationalization. * coffread.c (read_one_sym): Ditto. * dwarf2read.c (dwarf2_attach_fields_to_type): Ditto. * h8300-tdep.c (H8300_extract_return_value): Ditto. * inflow.c (new_tty): Ditto. * iq2000-tdep.c (iq2000_breakpoint_from_pc): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * mep-tdep.c (mep_store_return_value): Ditto. * score-tdep.c (score7_fetch_insn): Ditto. * ser-mingw.c (pipe_windows_open): Ditto. * sh64-tdep.c (sh64_extract_return_value): Ditto. * spu-tdep.c (spu_register_type): Ditto. * tracepoint.c (trace_find_command): Ditto. * valarith.c (value_pos): Ditto.
2011-01-102011-01-10 Phil Muldoon <pmuldoon@redhat.com>Phil Muldoon4-52/+9
* gdb.python/py-cmd.exp: Remove gdb_py_test_multiple function. Use load_lib gdb-python.exp. * gdb.python/python.exp: Ditto. * gdb.python/py-function.exp: Ditto.
2011-01-10minor comment reformatting (ada-valprint.c:printstr)Joel Brobecker2-2/+6
Just to make the length of each line a little more balanced. gdb/ChangeLog: * ada-valprint.c (printstr): Minor comment reformatting.
2011-01-102011-01-08 Michael Snyder <msnyder@vmware.com>Michael Snyder2-9/+14
* m32r-rom.c (m32r_upload_command): Fix up ARI warnings for _ markup.
2011-01-10*** empty log message ***gdbadmin1-1/+1
2011-01-09* gdb.threads/tls.exp ("info address me"): Fix expected output.Andreas Schwab2-29/+33
2011-01-092011-01-08 Michael Snyder <msnyder@vmware.com>Michael Snyder47-815/+948
* m2-exp.y: Comment cleanup, mostly periods and spaces. * m2-lang.c: Ditto. * m2-typeprint.c: Ditto. * m2-valprint.c: Ditto. * m32c-tdep.c: Ditto. * m32r-linux-nat.c: Ditto. * m32r-rom.c: Ditto. * m32r-tdep.c: Ditto. * m32r-tdep.h: Ditto. * m68hc11-tdep.c: Ditto. * m58klinux-nat.c: Ditto. * m68k-tdep.c: Ditto. * m88k-tdep.c: Ditto. * m88k-tdep.h: Ditto. * machoread.c: Ditto. * macrocmd.c: Ditto. * macroexp.c: Ditto. * macrotab.c: Ditto. * main.c: Ditto. * maint.c: Ditto. * mdebugread.c: Ditto. * mdebugread.h: Ditto. * memattr.c: Ditto. * memattr.h: Ditto. * memory-map.h: Ditto. * mep-tdep.c: Ditto. * microblaze-rom.c: Ditto. * microblaze-tdep.c: Ditto. * minsyms.c: Ditto. * mips-irix-tdep.c: Ditto. * mips-linux-nat.c: Ditto. * mips-linux-tdep.c: Ditto. * mips-linux-tdep.h: Ditto. * mipsnbsd-nat.c: Ditto. * mipsnbsd-tdep.c: Ditto. * mipsread.c: Ditto. * mips-tdep.c: Ditto. * mips-tdep.h: Ditto. * mn10300-linux-tdep.c: Ditto. * mn10300-tdep.c: Ditto. * mn10300-tdep.h: Ditto. * monitor.c: Ditto. * monitor.h: Ditto. * moxie-tdep.c: Ditto. * moxie-tdep.h: Ditto. * mt-tdep.c: Ditto.
2011-01-092011-01-08 Michael Snyder <msnyder@vmware.com>Michael Snyder51-822/+1002
* h8300-tdep.c: Comment cleanup, mostly periods and spaces. * hppa-hpux-tdep.c: Ditto. * hppa-linux-nat.c: Ditto. * hppa-linux-tdep.c: Ditto. * hppanbsd-tdep.c: Ditto. * hppa-tdep.c: Ditto. * hppa-tdep.h: Ditto. * hpux-thread.c: Ditto. * i386-cygwin-tdep.c: Ditto. * i386-darwin-nat.c: Ditto. * i386gnu-nat.c: Ditto. * i386-linux-nat.c: Ditto. * i386-linux-tdep.c: Ditto. * i386-nat.c: Ditto. * i386-nat.h: Ditto. * i386nbsd-tdep.c: Ditto. * i386-sol2-nat.c: Ditto. * i386-stub.c: Ditto. * i386-tdep.c: Ditto. * i386-tdep.h: Ditto. * i387-tdep.c: Ditto. * ia64-linux-nat.c: Ditto. * ia64-linux-tdep.c: Ditto. * ia64-tdep.c: Ditto. * infcall.c: Ditto. * infcall.h: Ditto. * infcmd.c: Ditto. * inferior.c: Ditto. * inferior.h: Ditto. * infloop.c: Ditto. * inflow.c: Ditto. * infrun.c: Ditto. * interps.c: Ditto. * interps.h: Ditto. * iq2000-tdep.c: Ditto. * irix5-nat.c: Ditto. * jit.c: Ditto. * jit.h: Ditto. * jv-exp.y: Ditto. * jv-lang.c: Ditto. * jv-lang.h: Ditto. * jv-typeprint.c: Ditto. * jv-valprint.c: Ditto. * language.c: Ditto. * language.h: Ditto. * linespec.c: Ditto. * linux-fork.c: Ditto. * linux-nat.c: Ditto. * linux-thread-db.c: Ditto. * lm32-tdep.c: Ditto.
2011-01-09*** empty log message ***gdbadmin1-1/+1
2011-01-08gdb: bfin: tix typo in register nameMike Frysinger2-1/+5
Looks like we've long been using "AO" instead of "A0" in the enum for the A0.W. But no one noticed since we aren't using it directly (we assume the position in the reverse). I've committed this simple fix. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-01-08Fix typo in fbsd-nat.c.Joel Brobecker2-1/+5
* fbsd-nat.c (fbsd_find_memory_regions): Fix typo.
2011-01-082011-01-07 Michael Snyder <msnyder@vmware.com>Michael Snyder2-1/+5
* charset.c (_initialize_charset): Fix typo in string.