2009-05-29 Eli Zaretskii * i386-tdep.c (i386_go32_init_abi): Use SVR4 register numbering for stabs and COFF debug info. 2009-05-28 Pedro Alves * infrun.c (handle_inferior_event): When thread hoping, switch inferior_ptid to the event thread before removing breakpoints from the target. If not stopping, also try to revert back to a thread that was doing a "next". Check if that thread still exists before resuming. (currently_stepping_thread): Delete and merge with ... (currently_stepping): ... this. (currently_stepping_callback): Rename to ... (currently_stepping_or_nexting_callback): ... this, and also return true if the thread was stepping over a call (has a step-resume breakpoint). 2009-05-28 Tom Tromey * python/python.c (gdbpy_parameter): Rename. Fix error message. (GdbMethods): Change "get_parameter" to "parameter". 2009-05-28 Pierre Muller Paul Pluzhnikov * configure.ac (!have_libpython): Add python-prettyprint source and object files. * configure: Regenerate. * python/python-prettyprint.c: Move "#ifdef HAVE_PYTHON" before python headers. 2009-05-27 Vladimir Prus Tom Tromey Thiago Jung Bauermann * 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) : 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) : 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. 2009-05-27 Tom Tromey Thiago Jung Bauermann Phil Muldoon Paul Pluzhnikov Vladimir Prus * 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) : 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) : 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. 2009-05-27 Tom Tromey Paul Pluzhnikov * mi/mi-main.c (mi_cmd_data_evaluate_expression): Use value_address. * cli/cli-dump.c (dump_value_to_file): Use value_address. * valprint.c (common_val_print): Likewise. * v850-tdep.c (v850_push_dummy_call): Use value_address. * tracepoint.c (encode_actions): Use value_address. * printcmd.c (print_formatted): Use value_address. (x_command): Likewise. * p-valprint.c (pascal_object_print_static_field): Use value_address. * mn10300-tdep.c (mn10300_push_dummy_call): Use value_address. * mips-tdep.c (mips_eabi_push_dummy_call): Use value_address. * m32r-tdep.c (m32r_push_dummy_call): Use value_address. * jv-valprint.c (java_value_print): Use value_address. * infcall.c (find_function_addr): Use value_address. * gnu-v3-abi.c (gnuv3_rtti_type): Use value_address. * gnu-v2-abi.c (gnuv2_value_rtti_type): Use value_address. * frv-tdep.c (frv_push_dummy_call): Use value_address. * frame.c (frame_register_unwind): Use value_address. (frame_unwind_register_value): Likewise. * darwin-nat-info.c (info_mach_region_command): Use value_address. * cp-valprint.c (cp_print_static_field): Use value_address. * c-valprint.c (c_value_print): Use value_address. * breakpoint.c (update_watchpoint): Use value_address. (can_use_hardware_watchpoint): Likewise. * ada-valprint.c (ada_val_print_1): Use value_address. (ada_value_print): Likewise. * ada-tasks.c (read_fat_string_value): Use value_address. * jv-lang.c (java_link_class_type): Use set_value_address. (java_link_class_type): Likewise. (get_java_utf8_name): Use value_address. (type_from_class): Likewise. (java_link_class_type): Likewise. * findvar.c (value_of_register): Use set_value_address. (read_var_value): Likewise. (read_var_value): Likewise. * eval.c (evaluate_subexp_standard): Use set_value_address. (evaluate_subexp_standard): Use value_address. * dwarf2loc.c (dwarf2_evaluate_loc_desc): Use set_value_address. * ada-lang.c (coerce_unspec_val_to_type): Use set_value_address. (ada_value_primitive_packed_val): Likewise. (ensure_lval): Likewise. (thin_data_pntr): Use value_address. (desc_bounds): Likewise. (ada_value_primitive_packed_val): Likewise. (value_assign_to_component): Likewise. (ensure_lval): Likewise. (make_array_descriptor): Likewise. (ada_to_fixed_value): Likewise. (unwrap_value): Likewise. * value.c (deprecated_value_address_hack): Remove. (value_address): New function. (value_raw_address): Likewise. (set_value_address): Likewise. (value_fn_field): Use set_value_address. (value_from_contents_and_address): Likewise. (value_fn_field): Likewise. (allocate_value_lazy): Don't use VALUE_ADDRESS. (value_as_address): Use value_address. (value_static_field): Likewise. * valops.c (search_struct_field): Use set_value_address. (value_at): Likewise. (value_at_lazy): Likewise. (value_repeat): Likewise. (value_cast_structs): Use value_address. (value_cast): Likewise. (value_fetch_lazy): Likewise. (value_assign): Likewise. (value_repeat): Likewise. (address_of_variable): Likewise. (value_coerce_array): Likewise. (value_coerce_function): Likewise. (value_addr): Likewise. (search_struct_field): Likewise. (search_struct_method): Likewise. (find_method_list): Likewise. (value_struct_elt_for_reference): Likewise. (value_full_object): Likewise. * jv-valprint.c (java_value_print): Use set_value_address. * value.h (deprecated_value_address_hack): Remove. (VALUE_ADDRESS): Remove. (value_address): Declare. (value_raw_address): Declare. (set_value_address): Declare. 2009-05-27 Tom Tromey Thiago Jung Bauermann Phil Muldoon Paul Pluzhnikov * python/python.c (_initialize_python): Call gdbpy_initialize_types. (GdbMethods): Add "lookup_type". * python/python-value.c (value_object) : 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. 2009-05-27 Tom Tromey Thiago Jung Bauermann Phil Muldoon * 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. 2009-05-27 Pedro Alves * infrun.c (follow_exec): Clear the stop_requested flag. * linux-nat.c (linux_handle_extended_wait) : Add debug output. 2009-05-27 Aleksandar Ristovski * nto-procfs.c (get_regset): Pass correct pointer. 2009-05-26 Doug Evans * dwarf2read.c (follow_die_ref): Add comment. (dwarf2_mark_helper): Tweak comment. (dwarf2_mark): Move description to its proper place. 2009-05-25 Pierre Muller * procfs.c (procfs_wait): Add options parameter. 2009-05-24 Doug Evans Global renaming of find_thread_pid to find_thread_ptid. * gdbthread.h (find_thread_ptid): Renamed from find_thread_pid. * thread.c (find_thread_ptid): Renamed from find_thread_pid. All callers updated. * infrun.c (follow_fork): Initialize new step_* locals to avoid "may be used uninitialized" warnings. 2009-05-24 Pedro Alves * inflow.c (copy_terminal_info): Deep copy `run_terminal'. 2009-05-24 Pedro Alves * gdbthread.h (struct thread_info): New `pending_follow' field. * thread.c (new_thread): New function. (add_thread_silent): Use it. * breakpoint.c (internal_breakpoint_number): New global, moved from inside... (create_internal_breakpoint): ... this. (clone_momentary_breakpoint): New. * breakpoint.h (clone_momentary_breakpoint): Declare. * infrun.c (nullify_last_target_wait_ptid): Move declaration higher. (pending_follow): Delete. (follow_fork): Handle pending follow fork event here. Moved the preserving of thread stepping state here. (resume): Don't handle pending follow fork events here. Only install the inferior's terminal modes if we're about to resume it. (proceed): Handle possible pending follow fork events here. (init_wait_for_inferior): No need to clear pending_follow anymore, it's gone. (handle_inferior_event): Adjust to per-thread `pending_follow'. Call `follow_fork' to handle following the fork. If the follow-fork is cancelled, stop stepping. * linux-nat.c (linux_child_follow_fork): Adjust to per-thread `pending_follow' events. Remove code that handled preserving the thread stepping state. * inf-ptrace.c (inf_ptrace_follow_fork): Ditto. * inf-ttrace.c (inf_ttrace_follow_fork): Ditto. 2009-05-24 Pierre Muller * symfile.c (add_shared_symbol_files_command): Remove prototype and function. (_initialize _symfile): Move "add-shared-symbol-files" command and "assf" alias. * windows-nat.c (_initialize_windows_nat): to here. Change "add-shared-symbol-files" to alias. * config/i386/cygwin.mh: Remove NAT_FILE. * config/i386/mingw.mh: Remove NAT_FILE. * config/i386/mingw64.mh: Remove NAT_FILE. * config/i386/nm-cygwin.h: Remove file. * config/i386/nm-cygwin64.h: Remove file. 2009-05-24 Hui Zhu * i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*, I386_LINUX_RECORD_IOCTL_*, I386_LINUX_RECORD_FCNTL_*) Removed. (i386_linux_init_abi): Change size of record from macros to numbers. 2009-05-24 Hui Zhu * i386-linux-tdep.c (i386_linux_init_abi): Remove size_char. * linux-record.c (record_linux_system_call): Ditto. * linux-record.h (linux_record_tdep): Ditto. 2009-05-23 Jan Kratochvil Replace the savestring calls by xstrdup calls where possible. * breakpoint.c (condition_command, set_raw_breakpoint) (create_catchpoint, update_breakpoint_locations): Replace the savestring calls by xstrdup calls where possible. * buildsym.c (start_subfile, patch_subfile_names, record_debugformat) (record_producer): Likewise. * coffread.c (coff_start_symtab, complete_symtab): Likewise. * corefile.c (set_gnutarget): Likewise. * dbxread.c (add_new_header_file): Likewise. * demangle.c (set_demangling_command, set_demangling_style): Likewise. * event-top.c (push_prompt, pop_prompt, command_line_handler) (set_async_prompt): Likewise. * infcmd.c (set_inferior_io_terminal, attach_command_post_wait): Likewise. * language.c (set_language_command, _initialize_language): Likewise. * linespec.c (decode_line_2): Likewise. * rs6000-nat.c (add_vmap): Likewise. * top.c (set_prompt, init_history, init_main): Likewise. * tracepoint.c (stringify_collection_list): Likewise. * varobj.c (varobj_create): Remove variable expr_len. Replace the savestring calls by xstrdup calls where possible. (value_of_root, c_name_of_variable, c_describe_child): Replace the savestring calls by xstrdup calls where possible. * xcoffread.c (complete_symtab): Likewise. * cli/cli-script.c (build_command_line, define_command): Likewise. * cli/cli-setshow.c (do_setshow_command): Likewise. 2009-05-23 Jan Kratochvil Remove already unreachable code. * varobj.c (varobj_get_handle): Fix comment when error is called. All callers updated. 2009-05-23 Eli Zaretskii * README (`configure' options): Document GDB-specific options to `configure'. * symtab.c (skip_prologue_using_lineinfo): New function. (find_function_start_sal): Use it to get to the first line of function's body that has an entry in the lineinfo table. * symmisc.c (dump_symtab): Switch the current language to the language of the symtab we are dumping only if the symtab's language is neither language_auto nor language_unknown. * coffread.c (coff_symtab_read): Set language_minimal as the language for the "_globals_" pseudo-file. (process_coff_symbol): Set the symbol's language to the language of current_subfile. 2009-05-22 Pedro Alves * target.h (struct section_table): Rename to ... (struct target_section): ... this. * exec.c: Adjust all references. * exec.h: Adjust all references. * nto-tdep.c: Adjust all references. * nto-tdep.h: Adjust all references. * ppc-linux-tdep.c: Adjust all references. * rs6000-nat.c: Adjust all references. * s390-tdep.c: Adjust all references. * solib-darwin.c: Adjust all references. * solib-frv.c: Adjust all references. * solib-irix.c: Adjust all references. * solib-null.c: Adjust all references. * solib-osf.c: Adjust all references. * solib-pa64.c: Adjust all references. * solib-som.c: Adjust all references. * solib-sunos.c: Adjust all references. * solib-svr4.c: Adjust all references. * solib-target.c: Adjust all references. * solib.c: Adjust all references. * solist.h: Adjust all references. * symfile.c: Adjust all references. * symfile.h: Adjust all references. * target.c: Adjust all references. 2009-05-22 Hui Zhu Add sys_fcntl argument interfaces to linux_record_tdep. * linux-record.h (linux_record_tdep): Add fcntl_F_GETLK, fcntl_F_GETLK64, fcntl_F_SETLK64 and fcntl_F_SETLKW64 to be interfaces. * i386-linux-tdep.c (I386_LINUX_RECORD_FCNTL_F_GETLK, I386_LINUX_RECORD_FCNTL_F_GETLK64, I386_LINUX_RECORD_FCNTL_F_SETLK64, I386_LINUX_RECORD_FCNTL_F_SETLKW64): New macros. The values of I386 Linux sys_fcntl arguments. (i386_linux_init_abi): Set macros values to linux_record_tdep. * linux-record.c (record_linux_system_call): Change to use the interface in linux_record_tdep in sys_fcntl and sys_fcntl64. * linux-record.c (record_linux_system_call): Fix the process record build error about type in CYGWIN. 2009-05-22 Pedro Alves * inflow.c (kill_command): Delete left over static declaration. 2009-05-22 Pedro Alves * bfd-target.c: Don't include gdb_assert.h or gdb_string.h. Include exec.h. (struct section_closure): Delete. (add_to_section_table): Delete. (build_target_sections_from_bfd): Delete. (target_bfd_xfer_partial): Use section_table_xfer_memory_partial. (target_bfd_reopen): Use build_section_table. * exec.c (xfer_memory): Move most code except for overlay debugging support from here... (section_table_xfer_memory): ... to this new function. (section_table_xfer_memory_partial): New. * exec.h (section_table_xfer_memory_partial): Declare. * bfd-target.h (build_target_sections_from_bfd): Delete declaration. 2009-05-22 Pedro Alves * remote.c (compare_sections_command): Don't declare exec_bfd. * tracepoint.c: Include "gdbcore.h". (remote_set_transparent_ranges): Don't declare exec_bfd. 2009-05-21 Pedro Alves * aix-thread.c (init_aix_thread_ops): Whitespace. 2009-05-21 Pedro Alves * dec-thread.c (dec_thread_wait): Add options parameter. Use it to call the to_wait method in the target beneath. * remote-m32r-sdi.c (m32r_wait): Add options parameter. 2009-05-21 Joel Brobecker * aix-thread.c (aix_thread_wait): Add options parameter. Use it to call the to_wait method in the target_beneath. 2009-05-21 Pedro Alves * linux-nat.c (linux_nat_terminal_inferior) (linux_nat_terminal_ours): Don't check sync_execution. * remote.c (remote_terminal_inferior, remote_terminal_ours): Don't check sync_execution. Update comments. * target.c (target_terminal_inferior): New. * target.h (target_terminal_inferior): Delete macro, and declare as function. * event-top.c (async_disable_stdin): Make idempotent. Don't give the target the terminal here. * inflow.c (terminal_ours_1): Don't return early without setting `terminal_is_ours'. 2009-05-21 Pedro Alves * target.h (TARGET_WNOHANG): New. * target.c (target_wait): Add `options' argument. Adjust. (struct target_ops) : Add `options' argument. (target_wait): Add `options' argument. * infrun.c (wait_for_inferior): Pass 0 as options to target_wait (blocking wait). (fetch_inferior_event): Pass TARGET_WNOHANG as options to target_wait. * fork-child.c (startup_inferior): Pass 0 as options to target_wait (blocking wait). * linux-nat.c (linux_nat_create_inferior): Remove async masking. (linux_nat_wait_1): Add `target_options' argument. Use it instead of checking on target_can_async_p. (linux_nat_wait): Add `target_options' argument. Adjust. * remote.c (remote_wait_ns): Add `options' argument. Adjust to check on TARGET_WNOWAIT instead of checking on remote_is_async_p. (remote_wait_as): Add `options' argument. Adjust to check on TARGET_WNOWAIT instead of checking on remote_is_async_p. If doing a blocking wait, keep waiting until an interesting event comes out. (remote_wait): Add `options' argument. Don't loop here if the target is in async mode, and a blocking wait has been requested. * top.c (deprecated_target_wait_hook): Add `options' argument. * linux-thread-db.c (thread_db_wait): Add `options' argument, and pass it down to the layer beneath. * inf-ptrace.c (inf_ptrace_wait): Add `options' argument. * record.c (record_beneath_to_wait): Add `options' argument. (record_wait): Add `options' argument, and pass it down to the layer beneath. * bsd-uthread.c (bsd_uthread_wait): Add `options' argument. * darwin-nat.c (darwin_wait): Likewise. * defs.h (deprecated_target_wait_hook): Likewise. * gnu-nat.c (gnu_wait): Add `options' argument. * go32-nat.c (go32_wait): Likewise. * hpux-thread.c (hpux_thread_wait): Add `options' argument, and pass it down to the layer beneath. * inf-ttrace.c (inf_ttrace_wait): Add `options' argument. * monitor.c (monitor_wait): Likewise. * nto-procfs.c (procfs_wait): Likewise. * remote-mips.c (mips_wait): Add `options' argument. * remote-sim.c (gdbsim_wait): Likewise. * rs6000-nat.c (rs6000_wait): Add `options' argument. * sol-thread.c (sol_thread_wait): Add `options' argument, and pass it down to the layer beneath. * spu-linux-nat.c (spu_child_wait): Add `options' argument. * windows-nat.c (windows_wait): Likewise. * tui/tui-hooks.c (tui_target_wait_hook): Likewise. Adjust. 2009-05-21 Pedro Alves * mi/mi-interp.c (mi_on_resume): Account for whole process resumes. 2009-05-21 Jan Kratochvil * m2-exp.y (MAX_FUNC): Fix trailing UNOP_MAX. 2009-05-21 Jan Kratochvil * dwarf2read.c (set_cu_language): Recognize also DW_LANG_C99. 2009-05-21 Jan Kratochvil Fix parsing DW_AT_const_value using DW_FORM_string. * dwarf2read.c (dwarf2_const_value ): New. 2009-05-20 Joel Brobecker * aix-thread.c (giter_count): Do not count the main thread. (giter_accum): Do not include the main thread. 2009-05-19 Jan Kratochvil Remove the PROT parameter from openp. * source.c (openp): Remove the parameter PROT. Assertion check MODE. defs.h (openp): Update the prototype. Update all the openp callers. 2009-05-19 Pedro Alves * inflow.c (kill_command): Moved to infcmd.c. (_initialize_inflow): Don't add the "kill" command or clear inferior_ptid here. * infcmd.c (kill_command): Moved here from inflow.c. (_initialize_infcmd): Add the "kill" command here. 2009-05-19 Pedro Alves * fork-child.c: Don't include frame.h. Include terminal.h. (fork_inferior): Call new_tty_postfork after forking adn adding the child to the inferior list. * inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare here. * inflow.c (struct terminal_info): Remove const qualifier from `run_terminal' field. (inferior_thisrun_terminal): Tweak comment. (inflow_inferior_exit): Release the `run_terminal' field. (copy_terminal_info): New function. (new_tty_postfork): New function. * terminal.h (new_tty_prefork, new_tty, new_tty_postfork, (copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare. * inf-ptrace.c: Include terminal.h. (inf_ptrace_follow_fork): Copy the parent's terminal info to the child. * linux-nat.c: Include terminal.h. (linux_child_follow_fork): Copy the parent's terminal info to the child. * inf-ttrace.c: Include terminal.h. (inf_ttrace_follow_fork): Copy the parent's terminal info to the child. 2009-05-19 Pedro Alves * breakpoint.c (insert_breakpoints, breakpoint_init_inferior) (update_global_location_list): Use gdbarch_has_global_breakpoints instead of gdbarch_has_global_solist and target_supports_multi_process. * dicos-tdep.c (dicos_init_abi): Set gdbarch_has_global_breakpoints. * gdbarch.sh (has_global_solist): Update comment. (has_global_breakpoints): New. * remote.c (remote_start_remote): Use gdbarch_has_global_breakpoints instead of gdbarch_has_global_solist. * target.c (target_detach): Use gdbarch_has_global_breakpoints instead of gdbarch_has_global_solist. * infcmd.c (attach_command): Use gdbarch_has_global_solist instead of target_supports_multi_process. 2009-05-18 Paul Pluzhnikov * objc-lang.c (find_methods): Plug a small memory leak. 2009-05-18 Pedro Alves * solib-svr4.c: Include observer.h. (debug_base, debug_loader_offset_p, debug_loader_offset) (debug_loader_name, main_lm_addr): Move these globals... (struct svr4_info): ... into this new structure. (svr4_info_p): New typedef. (svr4_info): New global. (get_svr4_info, remove_svr4_info, solib_svr4_inferior_exit): New functions. (locate_base, solib_svr4_r_map, solib_svr4_r_brk) (solib_svr4_r_ldsomap): Add svr4_info argument. Adjust to per-inferior svr4. (open_symbol_file_object): Adjust to per-inferior svr4. (svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map): Ditto. (enable_break): Add svr4_info argument. Adjust to per-inferior svr4. (enable_break, svr4_solib_create_inferior_hook, svr4_clear_solib): Adjust to per-inferior svr4. (_initialize_svr4_solib): Install the solib_svr4_inferior_exit observer. 2009-05-18 Pedro Alves * linux-nat.h (linux_proc_get_tgid): Declare. * linux-nat.c (linux_proc_get_tgid): New. * linux-thread-db.c (struct thread_db_info): New field `need_stale_parent_threads_check'. (add_thread_db_info): Set it. (find_new_threads_callback): Ignore stale fork parent threads. (thread_db_resume): New. (init_thread_db_ops): Install thread_db_resume. 2009-05-18 Pedro Alves * fork-child.c (fork_inferior): Only reset the thread list if this is the first inferior. (startup_inferior): If the target support multi-process, tell it to resume only the new process. * linux-nat.c (num_lwps): Delete global. (purge_lwp_list): New function. (num_lwps): New function. (add_lwp, delete_lwp): Adjust. (ptid_match): New. (iterate_over_lwps): Add filter argument. Handle it. (linux_nat_attach): Remove FIXME note. (linux_nat_detach): Adjust to iterate over threads of the inferior we're detaching from. Adjust to num_lwps being a function. Don't assume the head of the lwp list is the main thread of the process we're detaching from. Don't destroy the LWP list. (resume_callback): Add debug output. (linux_nat_resume): Handle resuming a single inferior. Allow a wildcard resume in non-stop mode. (linux_handle_extended_wait): Don't assume inferior_ptid is the correct inferior of the parent LWP. (status_callback): Also check lp->waitstatus. (select_event_lwp): Add new filter parameter. Handle it. (linux_nat_filter_event): Adjust to num_lwps being a function. (linux_nat_wait_1): When adding the first lwp of the inferior, use an is_lwp check instead of checking for the number of lwps. (linux_nat_wait_1): Handle waiting for a specific tgid. Handle pending process exit statuses. (linux_nat_mourn_inferior): Don't destroy all the LWP info. Instead delete LWPs of the inferior that we're mourning. Don't unregister from the event loop here. (linux_nat_pid_to_str): Use `num_lwps'. (linux_nat_make_corefile_notes): Adjust to walk over lwps of a single inferior. (linux_nat_is_async_p): Check if async was masked out. (linux_multi_process): New global. (linux_nat_supports_multi_process): New. (linux_nat_stop_lwp): Remove LWP filtering. It is done by the caller. (linux_nat_stop): Adjust to make iterate_over_lwps itself do the LWP filtering. (linux_nat_close): New. (linux_nat_add_target): Register linux_nat_close and linux_nat_supports_multi_process. * linux-nat.h (iterate_over_lwps): Add filter argument. * linux-thread-db.c (thread_db_handle): Delete. (proc_handle, thread_agent, td_init_p, td_ta_new_p) (td_ta_map_id2thr_p, td_ta_map_lwp2thr_p, td_ta_thr_iter_p) (td_ta_event_addr_p, td_ta_set_event_p, td_ta_event_getmsg_p) (td_thr_validate_p, td_thr_get_info_p, td_thr_event_enable_p) (td_thr_tls_get_addr_p, td_create_bp_addr, td_death_bp_addr): No longer globals, moved to... (struct thread_db_info): ... this new structure. (thread_db_list): New. (add_thread_db_info, get_thread_db_info, delete_thread_db_info): New. (have_threads_callback): Filter out threads of all inferiors but the one specified by the ARGS argument. (have_threads): Add ptid argument specifying the inferior we're interested in. Handle it. (struct thread_get_info_inout): New. (thread_get_info_callback, thread_from_lwp): Adjust to use it. (thread_db_attach_lwp): Check that inferior of the passed in thread is using thread-db. Adjust. (enable_thread_event): Remove thread_agent parameter. Instead, get it from the per-inferior thread-db info. (dladdr_to_soname): Move higher up. (enable_thread_event_reporting): Adjust to use per-inferior thread-db info. (try_thread_db_load_1): Replace `handle' parameter by a thread_db_info parameter. Adjust to use per-inferior thread-db info. (try_thread_db_load): Adjust to use per-inferior thread-db info. (thread_db_load, disable_thread_event_reporting): Ditto. (check_for_thread_db): Remove conditional reporting of which libthread_db is in use. (thread_db_new_objfile): Add comment about inferior_ptid. (attach_thread): Adjust to use per-inferior thread-db info. (thread_db_detach): Adjust to use per-inferior thread-db info. Remove thread event breakpoints of the current inferior. Only unpush the thread-db target if there are no more processes using it. (check_event): Adjust to use per-inferior thread-db info. (thread_db_wait): Adjust to use per-inferior thread-db info. Only unpush the thread-db target if there are no more processes using it. (thread_db_mourn_inferior): Adjust to use per-inferior thread-db info. Mark breakpoints of the current inferior out before deleting them. Only unpush the thread-db target if there are no more processes using it. (find_new_threads_callback): Adjust to use per-inferior thread_db info. (thread_db_find_new_threads_1): Add new ptid argument. Adjust to use per-inferior thread-db info. (thread_db_find_new_threads): Adjust to use per-inferior thread-db info. (thread_db_get_thread_local_address): Adjust. (thread_db_get_ada_task_ptid): Adjust. * inf-ptrace.c (inf_ptrace_mourn_inferior): Only unpush the target if there no more processes left to debug. * thread.c (set_running, set_executing): Handle resuming all threads of a single inferior. * mi/mi-interp.c (mi_output_running_pid): New. (mi_inferior_count): New. (mi_on_resume): For backwards compatibility, if resuming all threads of an inferior, and there is only one inferior, output "all". 2009-05-18 Ulrich Weigand * ada-lang.c (ada_find_any_type): Move check for primitive types ... (to_fixed_range_type): ... to here. 2009-05-18 Ulrich Weigand * ada-lang.c (desc_data_type): Remove, replace by ... (desc_data_target_type): ... this. (thin_data_pntr): Use desc_data_target_type instead of desc_data_type. (ada_is_array_descriptor_type): Likewise. (ada_type_of_array): Likewise. (ada_coerce_to_simple_array_type): Likewise. (ada_array_element_type): Likewise. 2009-05-18 Ulrich Weigand * ada-valprint.c (ada_val_print_1): Use val_print_string to print result of ada_vax_float_print_function inferior call. 2009-05-18 Ulrich Weigand * ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to avoid creating a dummy value. 2009-05-18 Ulrich Weigand * p-valprint.c (pascal_val_print): Use extract_typed_address to extract reference value. 2009-05-18 Ulrich Weigand * doublest.c (NAN): Remove unused define. (extract_floating_by_length, deprecated_extract_floating): Remove. (store_floating_by_length, deprecated_store_floating): Remove. (extract_typed_floating): Do not call extract_floating_by_length. (store_typed_floating): Do not call store_floating_by_length. (convert_typed_floating): Remove redundant assertions. * doublest.h (deprecated_extract_floating): Remove. (deprecated_store_floating): Remove. * sh64-tdep.c (sh64_register_convert_to_raw): Call extract_typed_floating instead of deprecated_extract_floating. 2009-05-18 Jon Beniston * MAINTAINERS: Add lm32 target. * Makefile.in: Add lm32 dependencies. * NEWS: Indicate lm32 is a new target. * configure.tgt: Add lm32 targets. * lm32-tdep.c: New file. 2009-05-18 Pedro Alves * corelow.c (core_open): Flush the register cache before doing anything with registers. 2009-05-18 Pedro Alves * inflow.h (our_process_group): Remove declaration. (inferior_process_group): Delete global variable declaration. (inferior_process_group): New function declaration. * inflow.c: Include observer.h. (inferior_ttystate, our_ttystate, tflags_inferior, tflags_ours): Delete. (struct terminal_info): New struct. (our_terminal_info): New global. (inferior_process_group): New function. (inferior_thisrun_terminal): Extend description comment. (gdb_has_a_terminal): Adjust to write to our_terminal_info fields instead of globals. (terminal_init_inferior_with_pgrp): Adjust to per-inferior terminal settings. (terminal_inferior): Ditto. (terminal_ours_1): Ditto. (inflow_new_inferior, inflow_inferior_exit): New functions. (child_terminal_info): Adjust to per-inferior terminal settings. (osig_set): New global. (set_sigint_trap): Adjust to per-inferior terminal settings. Set or clear `osig_set' accordingly. (clear_sigint_trap): Check `osig_set' to decide wheater to restore SIGINT handler, instead of checking the current inferior (which may be none). (_initialize_inflow): Attach inflow_new_inferior and inflow_inferior_exit to the "new_inferior" and "inferior_exit" notifications, respectively. * inferior.h (struct terminal_info): Forward declare. (struct inferior): Add `terminal_info' field. * inferior.c (delete_inferior_1): Notify the inferior_exit observers before removing the inferior from the lists and deleting it. * inf-ptrace.c (inf_ptrace_stop): `inferior_process_group' is now a function instead of a variable. Adjust. * procfs.c (procfs_stop): Ditto. 2009-05-17 Pedro Alves * infrun.c (handle_inferior_event): When handling a TARGET_WAITKIND_FORKED, detach breakpoints from the fork child immediatelly. * linux-nat.c (linux_child_follow_fork): Only detach breakpoints from the child if vforking. * inf-ptrace.c (inf_ptrace_follow_fork): No need to detach breakpoints from the child here. 2009-05-17 Pedro Alves * infrun.c (pending_follow): Remove execd_pathname member. (resume): No longer handle TARGET_WAITKIND_EXECD pending follow. (handle_inferior_event): When handling a TARGET_WAITKIND_EXECD event, don't copy `execd_pathname' to pending_follow, use the event copy instead. Release `execd_pathname' once done with handling the event. * infrun.c (pending_follow): Remove mention of exec events. 2009-05-17 Hui Zhu * i386-tdep.c (i386_process_record): Make it extern. (i386_gdbarch_init): Don't call set_gdbarch_process_record here. * i386-tdep.h (i386_process_record): Declare. * i386-linux-tdep.c (i386_linux_init_abi): Call set_gdbarch_process_record. 2009-05-17 Vladimir Prus Always report varobj as changed when in_scope attribute changes. * varobj.c (install_new_value): If non-NULL-ness of value changed, return 1. 2009-05-15 Paul Pluzhnikov * NEWS: Mention set/show libthread-db-search-path. * gdb_thread_db.h (LIBTHREAD_DB_SEARCH_PATH): New define. (LIBTHREAD_DB_SO): Moved from linux-thread-db.c * linux-thread-db.c (libthread_db_search_path): New setting. (thread_db_handle): New variable (replaces using_thread_db). (try_thread_db_load_1): New function. (try_thread_db_load, thread_db_load_search): Likewise. (dladdr_to_soname): Likewise. (thread_db_load): Iterate over possibly multiple libthread_db's. (check_for_thread_db): Attempt to load new libthread_db. (thread_db_detach, thread_db_wait): Unload libthread_db. (thread_db_mourn_inferior): Likewise. (_initialize_thread_db): Add new libthread-db-search-path option. Defer loading of libthread_db to check_for_thread_db. * solib.c (libpthread_name_p): New function. (libpthread_solib_p): Call it. * solib.h (libpthread_name_p): New prototype. 2009-05-15 Pierre Muller * MAINTAINERS: Update my email address. 2009-05-14 Paul Pluzhnikov * breakpoint.h: Add breakpoint_re_set_objfile prototype. * breakpoint.c (create_overlay_event_breakpoint): Renamed from create_overlay_event_breakpoint_1, old create_overlay_event_breakpoint deleted. (breakpoint_re_set_objfile): Don't rescan all objfiles unnecessarily. (breakpoint_re_set): New function. * symfile.c (new_symfile_objfile): Call breakpoint_re_set_objfile instead of breakpoint_re_set. * objfiles.c (objfile_relocate): Likewise. 2009-05-14 Joel Brobecker * gdbarch.sh: Add comment documenting the target_gdbarch global. gdbarch.h does NOT need to be regenerated as the corresponding change has already been made in a previous commit. 2009-05-14 Pierre Muller Remove all i386 debug register low level macros in config nm files. (I386_DR_LOW_SET_ADDR, I386_DR_LOW_RESET_ADDR): Remove. (I386_DR_LOW_GET_STATUS, I386_DR_LOW_SET_CONTROL): Remove. (I386_USE_GENERIC_WATCHPOIINTS): Remove. * i386-nat.h: New file (adapted from config/i386/nm-i386.h). (struct i386_dr_low_type): New type. (i386_dr_low): New global variable. * i386-nat.c (TARGET_HAS_DR_LEN_8): Update macro. (i386_insert_aligned_watchpoint): Replace i386 dr low macros by i386_dr_low struct variable fields. (i386_remove_aligned_watchpoint): Likewise. (i386_stopped_data_address): Likewise. (i386_stopped_by_hwbp): Likewise. (show_debug_regs_command_added): New static variable. (add_show_debug_regs_command): New static function. (i386_use_watchpoints): Call add_show_debug_regs_command if not done. (i386_set_debug_register_length): New function. (_initialize_i386_nat): Delete. * amd64-linux-nat.c: Include "i386-nat.h". (amd64_linux_dr_set_control): Change to static. (amd64_linux_dr_get_status): Change to static. (amd64_linux_dr_set_addr,amd64_linux_dr_reset_addr): Likewise. (_initialize_amd64_linux_nat): Set i386_dr_low variable fields. * go32-nat.c: Include "i386-nat.h". (go32_set_addr): Change to static. (go32_set_dr7): Change to static. Change arg type to unisgned long. (go32_get_dr6): Change to static. Change return type to unisnged long. (init_go32_ops): Set i386_dr_low variable fields. * i386-linux-nat.c: Include "i386-nat.h". (i386_linux_dr_set_control, i386_linux_dr_get_status): Change to static. (i386_linux_dr_set_addr, i386_linux_dr_reset_addr): Idem. (_initialize_i386_linux_nat): Set i386_dr_low variable fields. * i386bsd-nat.h: Declare functions used for i386_dr_low fields in i386fbsd-nat.c. * i386fbsd-nat.c: Include "i386-nat.h". (_initialize_i386fbsd_nat): Set i386_dr_low variable fields. * windows-nat.c: Include "i386-nat.h". (cygwin_set_dr, cygwin_get_dr6, cygwin_set_dr7): Add prototypes. Change to static. (cygwin_get_dr6): Change return type to unisnged long. (cygwin_set_dr7): Change arg type to unisgned long. (init_windows_ops): Set i386_dr_low function fields. * amd64-windows-nat.c (_initialize_amd64_windows_nat): Call i386_set_debug_register_length. * i386-windows-nat.c (_initialize_i386_windows_nat): Likewise. * config/i386/nm-cygwin.h: Remove all I386_* macros. * config/i386/nm-cygwin64.h: Likewise. * config/i386/nm-fbsd.h: Likewise. * config/i386/nm-linux.h: Likewise. * config/i386/nm-i386.h: Remove completely. * config/i386/nm-go32.h: Remove completely. * config/i386/nm-linux64.h: Remove completely. * config/i386/go32.mh (NAT_FILE): Remove entry. * config/i386/linux64.h (NAT_FILE): Change to config/nm-linux.h. 2009-05-14 Jon Beniston * MAINTAINERS: Add Jon Beniston to write after approval list. 2009-05-13 Paul Pluzhnikov * objc-lang.c (objc_objfile_data): New variable. (find_methods): Skip objfiles without Obj-C methods. (_initialize_objc_lang): New function. 2009-05-13 Joel Brobecker * c-lang.c (print_wchar): Remove unnecessary cast. 2009-05-12 Jim Blandy * MAINTAINERS: Remove self as m32c target maintainer. 2009-05-12 Pedro Alves * cli/cli-decode.c (deprecated_add_set_cmd): Delete. * command.h (deprecated_add_set_cmd): Delete declaration. * gnu-nat.c (_initialize_gnu_nat): Replace 'maint gnu-debug' with 'set debug gnu-nat' and 'show debug gnu-nat'. * i386-nat.c (_initialize_i386_nat): Replace 'maint show-debug-registers' with 'maint set show-debug-registers' and 'maint show show-debug-registers'. * mips-linux-nat.c (_initialize_mips_linux_nat): Replace 'maint show-debug-registers' with 'maint set show-debug-registers' and 'maint show show-debug-registers'. 2009-05-12 Joel Brobecker * c-lang.c (print_wchar): Convert w into a gdb_wchar_t before pushing it on the output obstack. 2009-05-11 Joel Brobecker Fix internal error on breaking at a multi-locations caller source line. * breakpoint.c (parse_breakpoint_sals): Set EXPLICIT_PC for the `break' command with no parameters. 2009-05-11 Pedro Alves * linux-nat.c (enum sigchld_state): Delete. (linux_nat_async_events_state): Delete. (struct waitpid_result): Delete. (waitpid_queue): Delete. (queued_waitpid_1): Delete. (async_file_flush): New. (queued_waitpid, push_waitpid): Delete. (async_file_mark): New. (drain_queued_events): Delete. (my_waitpid): Remove locally queued events handling. (linux_test_for_tracefork): Upjust. (linux_child_follow_fork): Ditto. (sync_sigchld_action): Delete. (blocked_mask): Reinstate. (async_sigchld_action): Rename to... (sigchld_action): ... this. (block_child_signals): New. (restore_child_signals_mask): New. (lin_lwp_attach_lwp): Adjust. (linux_nat_create_inferior): Ditto. (linux_nat_attach): Also use lp->status in async mode. (get_pending_status): Don't use queued_waitpid. (linux_nat_detach): Don't drain locally queued events. (linux_nat_resume): Allow pending wait statuses stored lp->status in async mode. If returning early due to a pending event, re-register the event source. (stop_wait_callback): Allow pending wait statuses stored lp->status in async mode. (pipe_to_local_event_queue, local_event_queue_to_pipe): Delete. (linux_nat_wait): Rename to ... (linux_nat_wait_1): ... this. Allow pending wait statuses stored lp->status in async mode. Always add WNOHANG to the waitpid options in async mode. (linux_nat_wait): New. (kill_callback): Don't drain locally queued events. (sigchld_handler): Rewrite. (linux_nat_is_async_p, linux_nat_can_async_p): Fix comments to refer to "set target-async". (linux_nat_async_mask): If in non-stop, and re-enabling async mode, re-register the target event source in the event loop. (linux_nat_event_pipe_pop, linux_nat_event_pipe_push) (get_pending_events, async_sigchld_handler) (linux_nat_async_events): Delete. (handle_target_event): New. (linux_nat_async_file_handler): Delete. (linux_async_pipe): New. (linux_nat_async): Only re-register in the event loop if not registered yet. Always notify the event-loop once if enabling the event source. (linux_nat_stop_lwp): Rewrite to handle pending events stored in lp->status, not in the locally queued event list. (linux_nat_stop): Don't mask out async event handling. (linux_nat_setup_async): Delete. (_initialize_linux_nat): Adjust. (lin_thread_get_thread_signals): blocked_mask is global again. Adjust. 2009-05-11 Pierre Muller Unify target macros. * target.h (STOPPED_BY_WATCHPOINT): Delete, replaced by ... (target_stoppped_by_watchpoint): New macro. (HAVE_STEPPABLE_WATCHPOINT): Delete, replaced by ... (target_have_steppable_watchpoint): New macro. (HAVE_CONTINUABLE_WATCHPOINT): Delete, replace by ... (target_have_continuable_watchpoint): New macro. (TARGET_CAN_USE_HARDWARE_WATCHPOINT):Delete, replaced by ... (target_can_use_hardware_watchpoint): New macro. (TARGET_REGION_OK_FOR_HW_WATCHPOINT):Delete, replaced by ... (target_region_ok_for_hw_watchpoint): New macro. * breakpoint.c (update_watchpoint): Use new macros. (bpstat_alloc): Likewise. (create_breakpoint): Likewise. (watch_command_1): Likewise. (can_use_hardware_watchpoint): Likewise. (do_enable_breakpoint): Likewise. * infrun.c (handle_inferior_event): Adapt to new macros. * mips-tdep.c (mips_gdbarch_init): Update comments. * procfs.c (procfs_set_watchpoint): Update comment. (procfs_insert_watchpoint): Adapt to new macros. * remote-m32r-sdi.c (m32r_stop): * remote-mips.c (mips_remove_breakpoint): * target.c (debug_to_region_ok_for_hw_watchpoint): Update to new macros. (debug_to_stopped_by_watchpoint): Likewise. 2009-05-10 Pierre Muller * src/gdb/target.h: Remove all tests for already defined macros. All macros defined here should not be set in config headers anymore. 2009-05-08 Sergio Durigan Junior * ppc-linux-nat.c (have_ptrace_getsetregs): New variable. (have_ptrace_getsetfpregs): Likewise. fetch_all_gp_regs): New function. (fetch_gp_regs): New function. (fetch_all_fp_regs): Likewise. (fetch_fp_regs): New function. (fetch_ppc_registers): Using the new methods to fetch general- purpose and floating-pointer registers. (store_all_gp_regs): New function. (store_gp_regs): Likewise. (store_all_fp_regs): New function. (store_fp_regs): Likewise. (store_ppc_registers): Using the new methods to store general- purpose and floating-pointer registers. 2009-05-08 Doug Evans * linux-nat.c (linux_xfer_siginfo): Delete unused locals lp, n. 2009-05-07 Sergio Durigan Junior * MAINTAINERS (Write After Approval): Add self. 2009-05-07 Joel Brobecker * gdbarch.h (target_gdbarch): Add comment documenting this global. 2009-05-06 Joel Brobecker * acinclude.m4 (AM_ICONV): Prefer in-tree libiconv if present over system iconv. * configure: Regenerate. 2009-05-06 Joel Brobecker * utils.c: Add include of gdb_usleep.h. (defaulted_query): Detect false EOF conditions that happen on terminals opened with the O_NONBLOCK flag when there is nothing to read. 2009-05-06 Pedro Alves * inferior.c (add_inferior): Move observer_notify_new_inferior call to ... (add_inferior_silent): ... here. 2009-05-06 Pierre Muller Pedro Alves * procfs.c (procfs_insert_watchpoint, procfs_remove_watchpoint) (procfs_region_ok_for_hw_watchpoint, procfs_use_watchpoints): New functions. (procfs_stopped_by_watchpoint): Made static, ptid argument removed. (_initialize_procfs): Register new watchpoint related target functions. * config/i386/nm-i386sol2.h (TARGET_CAN_USE_HARDWARE_WATCHPOINT) (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT, STOPPED_BY_WATCHPOINT) (HAVE_CONTINUABLE_WATCHPOINT): Delete. (target_insert_watchpoint, target_remove_watchpoint): Delete. (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete declarations. * config/mips/nm-irix5.h (STOPPED_BY_WATCHPOINT) (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT): Delete. (target_insert_watchpoint, target_remove_watchpoint): Delete. (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete declarations. * config/sparc/nm-sol2.h (TARGET_REGION_SIZE_OK_FOR_HW_WATCHPOINT) (HAVE_CONTINUABLE_WATCHPOINT, STOPPED_BY_WATCHPOINT): Delete. (target_insert_watchpoint, target_remove_watchpoint): Delete. (procfs_stopped_by_watchpoint, procfs_set_watchpoint): Delete declarations. 2009-05-06 Hui Zhu * i386-tdep.c (i386_process_record): Change bzero to memset. 2009-05-06 Hui Zhu * NEWS: Add item for process record and replay. 2009-05-05 Maxim Grigoriev * xtensa-tdep.c (xtensa_frame_cache): Use pc instead of cache->pc. 2009-05-05 Ulrich Weigand * inferior.h (read_pc, write_pc): Remove. * regcache.c (read_pc, write_pc): Remove. * infrun.c (displaced_step_fixup): Use regcache_read_pc instead of read_pc. (handle_inferior_event): Use regcache_read_pc instead of read_pc when determining value of stop_pc. Replace subsequent uses of read_pc by inspecting already-retrieved stop_pc value. (keep_going): Use regcache_read_pc instead of read_pc. * breakpoint.c (watchpoint_check): Use current frame architecture and PC instead of current_gdbarch and read_pc (). * tracepoint.c (set_traceframe_context): Replace PC argument with FRAME argument. (trace_start_command, finish_tfind_command): Update calls. (finish_tfind_command): Compare frame IDs to identify transitions between frames. (trace_find_pc_command): Use regcache_read_pc instead of read_pc. * rs6000-nat.c (exec_one_dummy_insn): Pass in regcache instead of gdbarch. Use regcache_read_pc and regcache_write_pc instead of read_pc and write_pc. (store_register): Make regcache argument non-const. Update call to exec_one_dummy_insn. * thread.c (switch_to_thread): Use regcache_read_pc instead of read_pc. * infcmd.c (post_create_inferior): Likewise. * solib-darwin.c (darwin_solib_create_inferior_hook): Likewise. * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise. * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise. * solib-svr4.c (enable_break, svr4_relocate_main_executable): Likewise. * linux-fork.c (fork_load_infrun_state): Likewise. * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Likewise. * record.c (record_wait): Likewise. * procfs.c (procfs_wait): Likewise. * remote-mips.c (common_open, mips_wait): Likewise. * remote-m32r-sdi.c (m32r_resume): Likewise. * symfile.c (generic_load): Use regcache_write_pc instead of write_pc. * monitor.c (monitor_create_inferior, monitor_load): Likewise. * m32r-rom.c (m32r_load, m32r_upload_command): Likewise. * remote-m32r-sdi.c (m32r_create_inferior, m32r_load): Likewise. * remote-mips.c (mips_create_inferior, mips_load): Likewise. * solib-darwin.c: Include "regcache.h". * solib-pa64.c: Include "regcache.h". * solib-svr4.c: Include "regcache.h.". * symfile.c: Do not mention read_pc or write_pc in comments. * dink32-rom.c: Likewise. * m32r-rom.c: Likewise. * mips-tdep.c: Likewise. 2009-05-05 Ulrich Weigand * fork-child.c (startup_inferior): Move setting stop_pc ... * infcmd.c (post_create_inferior): ... to here. 2009-05-04 Michael Snyder * NEWS: Add item for reverse debugging commands. 2009-05-04 Pedro Alves * go32-nat.c (go32_stop): Delete. (go32_kill_inferior): Rewrite to only call go32_mourn_inferior. (go32_create_inferior): Don't call go32_stop or go32_kill_inferior. (go32_mourn_inferior): Inline go32_stop and go32_kill_inferior here. (init_go32_ops): Don't register go32_stop. 2009-05-02 Eli Zaretskii * dbxread.c (read_dbx_symtab): Avoid compiler warnings for sym_name. * infcall.c (find_function_addr): Avoid compiler warnings for funaddr. 2009-05-01 Jan Kratochvil * dictionary.c (dict_hashed_vector, dict_hashed_expandable_vector) (dict_linear_vector, dict_linear_expandable_vector): Fix a comment typo. 2009-05-01 Doug Evans * linux-thread-db.c (thread_db_pid_to_str): Delete unused assignment to thread_info. 2009-05-01 Eli Zaretskii * record.c (_initialize_record): Reformat and clarify doc strings for stop-at-limit and insn-number-max. * go32-nat.c: Add comments about dirty secrets of DJGPP debugging. 2009-05-01 Jan Kratochvil Make specifiable the make_function_type type memory ownership. * gdbtypes.c (make_function_type): New parameter `objfile', use it explicitely instead of TYPE-initialized removed local variable `objfile'. Describe `objfile' it in the function comment. (lookup_function_type): Update make_function_type callers. * gdbtypes.h (make_function_type): Update the prototype. * jv-lang.c (java_link_class_type): Update make_function_type callers. * dwarf2read.c (read_subroutine_type): Likewise. * stabsread.c (read_type): Likewise. 2009-05-01 Eli Zaretskii * go32-nat.c (go32_pid_to_str): Call normal_pid_to_str instead of printing a bogus "Thread
". (go32_thread_alive): Don't return 1 for null_ptid. * i386-tdep.c (i386_go32_init_abi): Override the number of registers due to non-support of SSE. 2009-04-30 Anthony Green * configure.tgt: Link the moxie simulator in with gdb. 2009-04-30 Paul Pluzhnikov * elfread.c (elf_symtab_read): Don't assume .data and .rodata are present. 2009-04-30 Hui Zhu Michael Snyder I386 Linux process record and replay support. * i386-linux-tdep.c (i386_linux_record_tdep): New variable. This struct has the argument for the function "record_linux_system_call". (i386_linux_intx80_sysenter_record): New function. Parse the system call instruction and call function "record_linux_system_call" to record execute log. (i386_linux_init_abi): Initialize "i386_linux_record_tdep". Set "i386_linux_intx80_sysenter_record" to "i386_intx80_record" and "i386_sysenter_record". 2009-04-30 Hui Zhu Michael Snyder I386 architecture process record and replay support. * i386-tdep.c (PREFIX_REPZ, PREFIX_REPNZ, PREFIX_LOCK, PREFIX_DATA, PREFIX_ADDR): New macros. Help decode the i386 instruction set. (aflag, dflag, override, modrm, mod, reg, rm, ot, i386_record_pc): New variables. Ditto. (i386_record_modrm, i386_record_lea_modrm_addr, i386_record_lea_modrm): New functions. Ditto. (i386_process_record): New function. Parse the instruction in address "addr" and record the values of registers and memory that will be changed by this instruction. (i386_gdbarch_init): Set "i386_process_record" to GDBARCH "process_record" interface. * i386-tdep.h (gdbarch_tdep): New function pointers "i386_intx80_record" and "i386_sysenter_record" that point to the function that can record "intx80" and "sysenter" execute log. 2009-04-30 Hui Zhu Michael Snyder * infrun.c (use_displaced_stepping): Return false if process record and replay target is used. (proceed): Call function "record_not_record_set" if pocess record and replay target is used. 2009-04-30 Hui Zhu Michael Snyder Linux process record and replay support. * Makefile.in (ALLDEPFILES): Add linux-record.c. (ALL_TARGET_OBS): Add linux-record.o. * configure.tgt (x86_64-*-linux*): Add linux-record.o. (i[34567]86-*-linux*): Add linux-record.o. * linux-record.c, linux-record.h: New file. 2009-04-30 Hui Zhu Michael Snyder Process record and replay target. * Makefile.in (SFILES): Add record.c. (COMMON_OBS): Add record.o. * record.c, record.h: New file. 2009-04-30 Hui Zhu Michael Snyder * target.h (strata): New stratum "record_stratum". 2009-04-30 Hui Zhu Michael Snyder GDBARCH interface for process record and replay. * gdbarch.sh (process_record): This interface point to the function that records the inferior execute log. 2009-04-29 Doug Evans * i386-nat.c (child_post_startup_inferior): Delete, unused. 2009-04-29 Pedro Alves * breakpoint.c (print_exception_catchpoint): Access `b' directly instead of `b->loc->owner'. (print_mention_exception_catchpoint): Ditto. 2009-04-29 Jan Kratochvil * macrocmd.c (info_macro_command): Print -Dname=value if LINE is zero. 2009-04-27 Tom Tromey * c-exp.y (yylex): Handle '[' and ']' like '(' and ')'. 2009-04-27 Jerome Guitton * symtab.c (append_exact_match_to_sals): New function, extracted from expand_line_sal. (expand_line_sal): Use append_exact_match_to_sals to append exact matches. If none found, append all best items. 2009-04-27 Jerome Guitton * main.c (captured_main): Move gdbinit lookups after gdb_init. 2009-04-27 Jan Kratochvil PR gdb/9675: * dwarf2read.c (unsigned_int_compar, inherit_abstract_dies): New. (read_func_scope): Call inherit_abstract_dies. 2009-04-25 Eli Zaretskii * Makefile.in (ALLDEPFILES): Remove duplicate entries for sparc-sol2-nat.c and sparc-sol2-tdep.c. * stack.c (_initialize_stack) : Doc fix. 2009-04-24 Pierre Muller ARI change: Use "/* ARI: rule */" pattern. * utils.c: Update ARI patterns. * gdb_dirent.h: Likewise. 2009-04-23 Anthony Green * MAINTAINERS: Add moxie target. * configure.tgt: Add moxie-*-elf target. * moxie-tdep.c: New file. * moxie-tdep.h: New file. 2009-04-23 Joel Brobecker * ada-lang.c: Remove an extra empty line. No code change. 2009-04-23 Jan Kratochvil Fix double free on error inserting the breakpoint instruction. * breakpoint.c (create_breakpoints): Move the update_global_location_list call to ... (break_command_really): ... here together with the second local call both unified after all the cleanups. 2009-04-23 Sergio Durigan Junior Tom Tromey * configure, config.in: Regenerate. * configure.ac: Support for relocatable GDB datadir. Use GDB_AC_WITH_DIR. Always define TARGET_SYSTEM_ROOT_RELOCATABLE. * acinclude.m4 (GDB_AC_WITH_DIR): New defun. * top.c (init_main): Add "set data-directory". * defs.h (gdb_datadir): Declare. * main.c (gdb_datadir): New global. (captured_main): Initialize gdb_datadir. Use relocate_directory. (relocate_path): New function. (relocate_directory): Likewise. (get_init_files): Use relocate_path. (README): Mention --with-gdb-datadir. 2009-04-23 Joel Brobecker * ada-tasks (task_command_1): Call target_find_new_threads. 2009-04-23 Joel Brobecker * stack.c (do_gdb_disassembly): Print the exception message if an error was thrown while trying to perform the disassembly. 2009-04-22 Jan Kratochvil * varobj.c (free_variable): Replace free_current_contents by xfree. 2009-04-22 Kazu Hirata * arm-linux-nat.c (fetch_register, store_register): Use ARM_CPSR_GREGNUM instead of ARM_CPSR_REGNUM. * arm-linux-tdep.c (arm_linux_supply_gregset, arm_linux_collect_gregset): Likewise. * arm-linux-tdep.h (ARM_CPSR_GREGNUM): New. * arm-tdep.h (ARM_CPSR_REGNUM): Remove. 2009-04-22 Hui Zhu * stack.c (_initialize_stack): Set the default of disassemble-next-line to off. 2009-04-21 Tom Tromey * acinclude.m4: Use AS_HELP_STRING, not AC_HELP_STRING. * configure.ac: Use AS_HELP_STRING, not AC_HELP_STRING. 2009-04-21 Andreas Schwab * configure.ac: Add quotes to not lose brackets in help text. * configure: Rebuild. 2009-04-21 Andreas Schwab * configure.ac: Don't postprocess Makefile in config.status. Substitute GDB_NM_FILE. Don't substitute nm_h. * Makefile.in (GDB_NM_FILE): Substitute. (TAGS): Use $(GDB_NM_FILE) instead of $(NAT_FILE). * configure: Regenerate. * gnulib/Makefile.in: Regenerate. 2009-04-21 Joseph Myers * configure.ac (--with-datarootdir, --with-docdir, --with-pdfdir, --with-htmldir): New. * configure: Regenerate. 2009-04-21 Tom Tromey * configure: Rebuild. * configure.ac: Use lower case for start of help strings. Clean up --with-sysroot help. 2009-04-21 Tom Tromey * configure: Rebuild. * acinclude.m4 (AM_ICONV): Use AC_HELP_STRING. * configure.ac: Use AC_HELP_STRING. Use upper case for variables in help. 2009-04-21 Pierre Muller ARI fix: remove "%p". * ia64-tdep.c (ia64_frame_this_id): Use host_address_to_string function. (ia64_sigtramp_frame_this_id): Ditto. (ia64_libunwind_frame_this_id): Ditto. (ia64_libunwind_sigtramp_frame_this_id): Ditto. * symmisc.c (maintenance_info_psymtabs): Ditto. 2009-04-21 Joseph Myers * configure.ac (--with-relocated-sources): New. * configure, config.in: Regenerate. * source.c (add_substitute_path_rule): Remove static. * source.h (add_substitute_path_rule): Declare. * main.c: Include "source.h". (captured_main): Add substitution rule if RELOC_SRCDIR. 2009-04-21 Pierre Muller * gnu-nat.h (proc_debug): Add missing continuation line in macro. 2009-04-20 David Daney * NEWS: Mention MIPS/Linux hardware watchpoint support. 2009-04-20 David Daney * mips-linux-nat.c (command.h, gdbcmd.h, gdb_assert.h): New #includes. (maint_show_dr, super_close): New variables. (super_fetch_registers, super_store_registers): Make static. (PTRACE_GET_WATCH_REGS, PTRACE_SET_WATCH_REGS, W_BIT, R_BIT, I_BIT) (W_MASK, R_MASK, I_MASK, IRW_MASK, MAX_DEBUG_REGISTER): Define. (pt_watch_style): Define new enum. (mips32_watch_regs, mips64_watch_regs, pt_watch_regs, mips_watchpoint): Define new structs. (watch_readback_valid, watch_readback, current_watches, watch_mirror): New variables. (get_irw_mask, get_reg_mask, get_num_valid, get_watchlo) (set_watchlo, get_watchhi, set_watchhi, mips_show_dr) (mips_linux_read_watch_registers, mips_linux_can_use_hw_breakpoint) (mips_linux_stopped_by_watchpoint, mips_linux_stopped_data_address) (type_to_irw, fill_mask, try_one_watch) (mips_linux_region_ok_for_hw_watchpoint, write_watchpoint_regs) (mips_linux_new_thread, populate_regs_from_watches) (mips_linux_insert_watchpoint, mips_linux_remove_watchpoint) (mips_linux_close): New functions. (_initialize_mips_linux_nat): Register watchpoint functions with the target_ops. Add show-debug-regs maintenance command. 2009-04-20 David Daney * infrun.c (handle_inferior_event): Move gegisters_changed call down. 2009-04-19 Pedro Alves * NEWS: Mention gdbserver support for x86 Windows CE. 2009-04-19 Eli Zaretskii * config/djgpp/fnchange.lst: Fix typos. Set default host and target charsets in the DJGPP port. * config/djgpp/config.sed (am_cv_langinfo_codeset) (bash_cv_langinfo_codeset, ac_cv_header_nl_types_h): Set to "yes" in all configure scripts that define ac_cv_env_CPP_value. * go32-nat.c (dos_codepage, nl_langinfo): New functions. Include langinfo.h. * config/djgpp/nl_types.h: New file. * config/djgpp/langinfo.h: New file. * config/i386/go32.mh (MH_CFLAGS): Add $(srcdir)/config/djgpp. 2009-04-18 Carlos O'Donell * Makefile.in (MAKEHTML): Set to makeinfo --html. (MAKEHTMLFLAGS): Set to empty. 2009-04-18 Eli Zaretskii * NEWS: Mention all new set/show commands added since GDB 6.8 was released. * go32-nat.c (go32_sysinfo): Check if the call to __dpmi_get_capabilities fills the buffer with information, and don't use the buffer if not. 2009-04-17 Tom Tromey * charset.c (_initialize_charset): Add special case for "646". 2009-04-17 Carlos O'Donell * configure.ac: AC_SUBST datarootdir, docdir, htmldir, pdfdir. * configure: Regenerate. * Makefile.in: Set datarootdir, docdir, htmldir, and pdfdir from configure substitutions. (FLAGS_TO_PASS): Add datarootdir, docdir, and htmldir. 2009-04-17 Pierre Muller ARI fix: Do not use %p, replace by call to host_address_to_string for host pointers. * darwin-nat.c (darwin_xfer_partial): Apply change. * gnu-nat.c (inf_continue, gnu_xfer_memory): Ditto. * gnu-nat.h (proc_debug): Ditto. * symmisc.c (maintenance_info_symtabs): Ditto. (maintenance_info_psymtabs): Ditto. * windows-nat.c (handle_load_dll): Ditto. (handle_unload_dll, info_w32_command, handle_exception): Ditto. * xtensa-tdep.c (xtensa_unwind_pc): Ditto. 2009-04-17 Joseph Myers * configure.tgt (i[34567]86-*-linux*): Use 64-bit configuration if --enable-64-bit-bfd. (sparc-*-linux*): Likewise. 2009-04-17 Eli Zaretskii * go32-nat.c (go32_sysinfo): Update list of Windows versions of the NT family. 2009-04-16 Pedro Alves * remote.c (remote_query_attached): Fix pasto in packet_ok result checking. 2009-04-16 Joel Brobecker * procfs.c (solib_mappings_callback, find_memory_regions_callback): Revert the previous change. Might not be correct, actually. 2009-04-16 Joel Brobecker * ada-lang.h (ada_adjust_exception_stop, ada_print_exception_stop) (ada_get_current_task, ada_print_exception_breakpoint_nontask) (ada_print_exception_breakpoint_task, ada_reset_thread_registers): Remove declaration. These are non-existent functions. 2009-04-16 Joel Brobecker * procfs.c (solib_mappings_callback, find_memory_regions_callback): Fix a compilation warning on mips-irix due to casting from a pointer of different size. 2009-04-16 Joel Brobecker * ada-lang.c (symtab_for_sym): Delete. (user_select_syms): Use sym->symtab instead of calling symtab_for_sym. 2009-04-16 Joel Brobecker * ada-lang.c (extract_string): Delete. (ada_main_name): Reimplement using target_read_string instead of extract_string. 2009-04-16 Andreas Schwab * m68klinux-nat.c: Remove obsolete comment. (fetch_register, store_register): Don't call gdbarch_cannot_fetch_register or gdbarch_cannot_store_register, which are always nops here. 2009-04-14 Tom Tromey * c-lang.c (c_emit_char): Use INTERMEDIATE_ENCODING. (c_printstr): Likewise. * charset.c: Include gdb_wait.h. (make_wchar_iterator): Use INTERMEDIATE_ENCODING. (find_charset_names): Use pexecute. Handle libiconv's output. Detect errors. (_initialize_charset): Use xstrdup. * gdb_wchar.h: Check HAVE_BTOWC. Split PHONY_ICONV and wchar cases. (INTERMEDIATE_ENCODING): New define. * configure, config.in: Rebuild. * configure.ac: Check for btowc. 2009-04-15 Tom Tromey * c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP. 2009-04-15 Eli Zaretskii * utils.c (parse_escape): Initialize target_char to pacify GCC. 2009-04-14 Jan Kratochvil * c-lang.c (c_get_string): Fix xfree crash on a failed string read. 2009-04-14 Pierre Muller ARI fix: sprintf rule. * ada-exp.y (convert_char_literal): Replace sprintf by xsnprintf. * ada-lang.c (add_angle_brackets): Use xstrprintf. (ada_decode): Replace sprintf by xsnprintf. (find_old_style_renaming_symbol): Ditto. (ada_to_fixed_type_1, ada_enum_name): Ditto. 2009-04-14 Joel Brobecker * target.c (target_mourn_inferior): Call bfd_cache_close_all after having executed the target mourn_inferior routine. 2009-04-14 Eli Zaretskii * config/djgpp/djconfig.sh (DEPDIR): Define to "_deps", if undefined. 2009-04-13 David Daney * infrun.c (maybe_software_singlestep): New function. (resume): Call maybe_software_singlestep. (handle_inferior_event): Same. 2009-04-13 Tom Tromey * python/python-frame.c (frapy_richcompare): Return Py_NotImplemented, not an error. Handle Py_NE as well. 2009-04-13 Eli Zaretskii * charset.c (EILSEQ): Define if not defined by system headers. 2009-04-11 Eli Zaretskii * config/djgpp/config.sed: Tweak ac_config_files in intl/configure to be consistent with renaming config.intl.in into config_intl.in. * go32-nat.c (go32_attach, go32_detach): Fix prototypes to be consistent with the change from 2008-11-09. 2009-04-10 Jan Kratochvil * gdbtypes.c: Remove excessive parentheses at the return keywords. * varobj.c (varobj_invalidate): Fix indentation. * varobj.c (varobj_invalidate): Fix formatting text width. 2009-04-08 Vladimir Prus Implement -exec-jump. * mi/mi-cmds.h (mi_cmd_exec_jump): Declare. * mi/mi-main.c (mi_cmd_exec_jump): New. * mi/mi-cmds.c (mi_cmds): Register exec-jump. 2009-04-07 Doug Evans * symfile.c (symbol_file_clear): Fix indentation. 2009-04-06 Mark Kettenis * sparc64nbsd-nat.c (sparc64nbsd_supply_pcb): Fix comment. 2009-04-03 Ulrich Weigand * ppc-linux-nat.c (ppc_linux_target_wordsize): New function. (ppc_linux_auxv_parse): New function. (ppc_linux_read_description): Use ppc_linux_target_wordsize. (_initialize_ppc_linux_nat): Install ppc_linux_auxv_parse. 2009-04-03 Ulrich Weigand * spu-linux-nat.c (spu_bfd_open): Set filename of in-memory BFD to contents of SPU name note. (spu_symbol_file_add_from_memory): Call symbol_file_add_from_bfd with "from_tty" argument 1 instead of 0. 2009-04-02 Jan Kratochvil * dwarf2read.c (new_symbol ): Create the symbol in local scope. * symtab.h (cu->list_in_scope ): New comment part. 2009-04-02 Keith Seitz * stabsread.c (read_member_functions): GCC may emit an extra space at the end of the names "__base_ctor" and "__base_dtor"; so ignore whitespace when looking for these functions. 2009-04-01 Joel Brobecker Change the default value for "set print frame-arguments" to scalars. * stack.c (print_frame_arguments): Set initial value to "scalars". 2009-04-01 Aleksandar Ristovski * mips-tdep.c (mips_numeric_register_alieses): New definition. (mips_gdbarch_init): Add user registers from mips_numeric_register_aliases. 2009-04-01 Joel Brobecker * linux-nat.c (linux_nat_filter_event): Minor comment reformatting. 2009-04-01 Joel Brobecker * linux-nat.c (linux_nat_filter_events): Do not delete the lwp if this is the last one. 2009-04-01 Pedro Alves * remote.c (append_resumption): New. (remote_vcont_resume): Use it. 2009-04-01 Joel Brobecker * windows-nat.c (+windows_get_ada_task_ptid): New function. (init_windows_ops): Set windows_ops.to_get_ada_task_ptid. 2009-03-31 Daniel Jacobowitz Keith Seitz Jan Kratochvil PR gdb/6817 * Makefile.in (dbxread.o): Update. * dbxread.c (read_dbx_symtab): Use cp_canonicalize_string. * dwarf2read.c (GDB_FORM_cached_string): New. (read_partial_die): Use dwarf2_canonicalize_name. (dwarf2_linkage_name): Use dwarf2_name. (dwarf2_canonicalize_name): New. (dwarf2_name): Use dwarf2_canonicalize_name. (dwarf_form_name, dump_die): Handle GDB_FORM_cached_string. * stabsread.c (define_symbol, read_type): Use cp_canonicalize_string. * symtab.c (lookup_symbol_in_language): Canonicalize input before searching. * cp-name-parser.y: operator() requires two parameters, according to libiberty. * minsyms.c (lookup_minimal_symbol): Canonicalize input before searching. * NEWS: Update. 2009-03-31 Joel Brobecker Provide support for (Ada) task-specific breakpoints. * ada-lang.h (ada_get_task_number): Add declaration. (breakpoint_ada_task_match): Delete declaration. * ada-tasks.c (ada_get_task_number): Make non-static. * breakpoint.h (struct breakpoint): Add field "task". * breakpoint.c (print_one_breakpoint_location): Add handling of task-specific breakpoints. (create_breakpoint, create_breakpoints, find_condition_and_thread): New parameter "task". (break_command_really): Update calls to find_condition_and_thread and create_breakpoints. (breakpoint_re_set_one): Update call to find_condition_and_thread. Set b->task. 2009-03-31 Joel Brobecker * ada-tasks.c (short_task_info): Eliminate the "Running" task state. 2009-03-31 Pedro Alves * remote.c (remote_notice_new_inferior): Use ptid_is_pid. Check if the thread's ptid without a thread id field is in the list before calling thread_change_ptid. (extended_remote_attach_1): In non-stop mode, do not rely on querying the current thread, instead, query the thread list, and select the first thread of the process. * gdbthread.h (first_thread_of_process): Declare. * thread.c (first_thread_of_process): Define. 2009-03-30 Stan Shebs Make tracepoints into a type of breakpoint. * breakpoint.h (enum bptype): Add bp_tracepoint. (struct breakpoint): Add fields step_count, pass_count, actions. (get_tracepoint, get_tracepoint_by_number): Declare. (all_tracepoints): Declare. * breakpoint.c: Include tracepoint.h, readline.h. (ALL_TRACEPOINTS): Move here from tracepoint.c. (tracepoint_count): Ditto. (should_be_inserted): GDB does not insert tracepoints itself. (print_it_typical): Add tracepoint case. (bpstat_what): Ditto. (print_one_breakpoint_location): Ditto, and add printing for pass count, step count, and action list. (user_settable_breakpoint): Add tracepoint case. (allocate_bp_location): Ditto. (set_breakpoint_location_function): Ditto. (disable_breakpoints_in_shlibs): Ditto. (mention): Ditto. (break_command_really): Add argument traceflag, use to choose basic breakpoint type. (break_command_1): Pass extra argument. (set_breakpoint, handle_gnu_v3_exceptions): Ditto. (breakpoint_re_set_one): Add tracepoint case. (disable_command, enable_command): Ditto. (set_tracepoint_count): Move here from tracepoint.c. (trace_command): Move here from tracepoint.c and use break_command_really. (tracepoints_info): Move here from tracepoint.c and call breakpoints_info. (enable_trace_command): Move here from tracepoint.c and call enable_command. (disable_trace_command): Move here from tracepoint.c and call disable_command. (delete_trace_command): Move here from tracepoint.c and call delete_breakpoint. (trace_pass_command): Move here from tracepoint.c. (get_tracepoint_by_number): Ditto. (tracepoint_save_command): Ditto. (get_tracepoint): New function. (all_tracepoints): New function. (_initialize_breakpoint): Move tracepoint init from tracepoint.c, deprecate "enable trace" and "disable trace" commands. * tracepoint.h (struct tracepoint): Remove. (tracepoint_chain): Remove decl. (deprecated_create_tracepoint_hook): Remove decl. (deprecated_delete_tracepoint_hook): Remove decl. (deprecated_modify_tracepoint_hook): Remove decl. (ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove. (free_actions): Update signature. (validate_actionline): Update signature. (end_actions_pseudocommand): Declare. (while_stepping_pseudocommand): Declare. * tracepoint.c: Include breakpoint.h. (tracepoint_chain, tracepoint_count): Remove. (free_actions, make_cleanup_free_actions): Update signature. (trace_command, set_raw_tracepoint): Remove. (trace_mention): Remove. (tracepoints_info): Remove. (tracepoint_operation, map_args_over_tracepoints): Remove. (get_tracepoint_by_number): Remove. (enable_trace_command, disable_trace_command): Remove. (delete_trace_command, trace_pass_command): Remove. (trace_actions_command, read_actions): Update signature. (validate_actionline): Update signature, use bp loc. (encode_actions): Ditto. (download_tracepoint): New function, body of trace_start_command. (trace_start_command): Call it, use all_tracepoints. (tracepoint_save_command): Remove. (tracepoint_dump_command): Use get_tracepoint. (end_actions_pseudocommand): Make globally visible. (while_stepping_pseudocommand): Ditto. (_initialize_tracepoint): Move command definitions to breakpoint.c. 2009-03-30 Thiago Jung Bauermann 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. 2009-03-29 Thiago Jung Bauermann Remove unused value_object attribute `owned_by_gdb'. * python/python-value.c (value_object): Remove owned_by_gdb attribute. (valpy_dealloc): Remove reference to self->owned_by_gdb. (valpy_new): Likewise. (value_to_value_object): Likewise. 2009-03-29 Thiago Jung Bauermann Change gdb.Value.address from a method to an attribute. * python/python-value.c (value_object): Add `address' element. (valpy_dealloc): Decrement reference to self->address if set. (valpy_new): Initialize val_obj->address. (valpy_address): Rename to ... (valpy_get_address): ... this. Change signature from method to attribute. Update self->address if not set. (value_to_value_object): Initialize val_obj->address. (value_object_getset): Add `address' element. (value_object_methods): Remove `address' element. 2009-03-29 Andreas Schwab * observer.sh: Set LANG/LC_ALL to C, not c. 2009-03-28 Kevin Buettner * mn10300-tdep.c (mn10300_gdbarch_init): For mn10300, by default, `char' is unsigned. 2009-03-28 Pedro Alves * remote.c (remote_stop_ns): If multi-process extensions are off, and GDB is requesting the whole process to stop, sent "vCont;t", not "vCont;t:-1" 2009-03-28 Pedro Alves * inf-loop.c (inferior_event_handler): Avoid calling is_running on null inferior_ptid. 2009-03-27 Eli Zaretskii * config/djgpp/fnchange.lst: Update to fix ARI-reported problems. 2009-03-26 Doug Evans * thread.c (do_restore_current_thread_cleanup): Redo test for whether to restore old->inferior_ptid. 2009-03-26 Tom Tromey * breakpoint.c (resolve_sal_pc): Preserve original line number when skipping prologue. 2009-03-26 Doug Evans * thread.c (inferior_thread) Remove "extern" in definition. 2009-03-26 Thiago Jung Bauermann Add gdb.Value.is_optimized_out attribute. * python/python-value.c (valpy_get_is_optimized_out): New function. (value_object_getset): New variable. (value_object_type): Initialize tp_getset element. 2009-03-26 Joel Brobecker Recognize missing DW_AT_location as . * dwarf2read.c (new_symbol ): Call add_symbol_to_list. 2009-03-25 Tom Tromey * gdbtypes.h (CHECK_TYPEDEF): Don't yield a value. * stack.c (print_this_frame_argument_p): Use check_typedef. 2009-03-25 Tom Tromey * configure: Rebuild. * acinclude.m4 (AM_ICONV): Set am_cv_use_build_libiconv. Rearrange flags setting. Add comments. 2009-03-25 Pierre Muller * config/i386/nm-i386.h: Remove code within I386_WATCHPOINTS_IN_TARGET_VECTOR conditional. * config/i386/nm-cygwin.h: Remove I386_WATCHPOINTS_IN_TARGET_VECTOR macro. * config/i386/nm-cygwin64.h: Ditto. * config/i386/nm-fbsd.h: Ditto. * config/i386/nm-go32.h: Ditto. * config/i386/nm-linux.h: Ditto. * config/i386/nm-linux64.h: Ditto. 2009-03-25 Pierre Muller ARI fix: "xasprintf" rule. * printcmd.c (sym_info): Replace xasprintf by xstrprintf. 2009-03-25 Pedro Alves * remote.c (remote_start_remote): In non-stop mode, call init_wait_for_inferior before adding threads and inferiors. 2009-03-25 Joel Brobecker * breakpoint.c (breakpoint_thread_match): Split a large condition into several smaller conditions. No behavior change. 2009-03-25 Pedro Alves * infrun.c (infrun_thread_thread_exit): New. (_initialize_infrun): Attach it to the thread_exit observer. * thread.c (delete_thread_1): Always call the observer, passing it the silent flag. * mi/mi-interp.c (mi_thread_exit): Add "silent" parameter. If SILENT, return immediately. 2009-03-25 Pedro Alves * infrun.c (normal_stop): Use has_stack_frames instead of target_has_stack. * mi/mi-main.c (mi_execute_command): Avoid calling inferior_thread when there is no thread selected. (mi_cmd_execute): Don't special case commands that can run without a valid selected thread. * top.c (execute_command): Don't special case commands that can run without a valid selected thread. Use has_stack_frames. * infcmd.c (ensure_valid_thread): New. (continue_1, step_1, jump_command, signal_command): Use it. (detach_command): Error out if there's no selected thread/inferior. * thread.c (print_thread_info): Allow having no thread selected. (switch_to_thread): Don't read the PC if there is no current thread. (do_restore_current_thread_cleanup): Don't record the current frame if there is no current thread. (make_cleanup_restore_current_thread): Don't read frame info if there is no selected thread. (_initialize_thread): Don't mark commands as "no_selected_thread_ok". * frame.c (get_current_frame): Error out if there is no valid selected thread. (has_stack_frames): Return false if there is no valid selected thread. * cli/cli-cmds.c (init_cli_cmds): Don't mark commands as "no_selected_thread_ok". * cli/cli-decode.c (set_cmd_no_selected_thread_ok) (get_cmd_no_selected_thread_ok): Delete. * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): Delete. (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok): Delete declaration. * stack.c (get_selected_block): Use has_stack_frames. 2009-03-25 Thiago Jung Bauermann Fix size of FPSCR in Power 7 processors. * ppc-linux-nat.c (PPC_FEATURE_ARCH_2_05): Remove #define. (PPC_FEATURE_HAS_DFP): New #define. (ppc_linux_read_description): Check for DFP feature instead of ISA 2.05 to decide on size of the FPSCR. 2009-03-25 Kevin Buettner * mn10300-tdep.c (trad-frame.h): Don't include. (prologue-value.h): Include. (mn10300_frame_unwind_cache, set_reg_offsets): Delete. (struct mn10300_prologue): Define. (push_reg, translate_rreg, check_for_saved): New functions. (mn10300_analyze_prologue): Rewrite, using prologue-value machinery. Handle more instructions than before. Permit instructions to occur in any order. (mn10300_skip_prologue): Find the extents of the function in question; mn10300_analyze_prologue no longer does this. (mn10300_analyze_frame_prologue): New function. (mn10300_frame_base): New function. (mn10300_frame_this_id): Rewrite, no longer using trad-frame implementation. (mn10300_frame_prev_register): Likewise. (mn10300_frame_base_address, mn10300_frame_base struct): Delete. (mn10300_unwind_pc, mn10300_unwind_sp): Rename `next_frame' to `this_frame'. (mn10300_frame_unwind_init): Don't call frame_base_set_default(). 2009-03-25 Pierre Muller Fix completer problem for filename completion on the first try. * gdb/completer.h (gdb_completion_word_break_characters): New function. * gdb/completer.c: Include gdb_assert.h. (complete_line_internal_reason): New enum. (complete_line_internal): Change last argument type to complete_line_internal_reason. Modify function to handle the different complete_line_internal_reason argument values. (complete_line): Adapt to change in complete_line_internal. (command_completer): Ditto. (gdb_completion_word_break_characters): Implement new function. * top.c (init_main): Set rl_completion_word_break_hook to gdb_completion_word_break_characters. 2009-03-25 Pierre Muller ARI fix: "strlen d_name" rule. * linux-nat.c (linux_nat_xfer_osdata): Use NAMELEN macro. 2009-03-24 Tom Tromey Pedro Alves * configure, config.in: Rebuild. * configure.ac: Check for libiconvlist. * charset.c: Check HAVE_LIBICONVLIST. * acinclude.m4 (AM_ICONV): Don't subst LIBICONV, LIBICONV_INCLUDE, LIBICONV_LIBDIR. Update CPPFLAGS and LIBS. * Makefile.in (LIBICONV, LIBICONV_INCLUDE, LIBICONV_LIBDIR): Remove. (INTERNAL_CFLAGS_BASE): Update. (INTERNAL_LDFLAGS): Update. (CLIBS): Update. 2009-03-24 Jan Kratochvil * configure.ac: Initialize the variable $PREFER_CURSES. * configure: Regenerated. 2009-03-24 Jan Kratochvil * configure.ac: Enable $PREFER_CURSES even with default $ENABLE_TUI. * configure: Regenerated. 2009-03-24 Pierre Muller ARI fix: "strerror" rule. * darwin-nat.c (darwin_ptrace): Use safe_strerror. (darwin_stop_inferior, darwin_attach, darwin_detach): Ditto. 2009-03-23 Joel Brobecker * ada-exp.y (get_symbol_field_type): Make sure to resolve typedefs before looking up the fields inside our struct type. 2009-03-23 Joel Brobecker * ada-lang.c (resolve_subexp) [UNOP_QUAL]: Resolve typedefs before trying to resolve the type qualification. 2009-03-23 Joel Brobecker * ada-lang.c (ada_evaluate_subexp) [UNOP_IN_RANGE]: make sure we try to apply the attribute on the real type, rather than its associated typedef. 2009-03-23 Joel Brobecker * ada-lang.c (ada_evaluate_subexp) [OP_ATR_MODULUS]: Use check_typdef to make sure we try to get the modulus of the actual type, not the associated typedef. 2009-03-23 Joel Brobecker * ada-lang.c (ada_evaluate_subexp): [OP_ATR_FIRST, OP_ATR_LAST] [OP_ATR_LENGTH]: When using the attribute on a type, make sure to get the real type, not the associated typedef. 2009-03-23 Joel Brobecker * ada-lang.c (ada_get_field_index): Add handling of the case when TYPE is a typedef of a struct. 2009-03-23 Joel Brobecker Add gdb_usleep as a portable version of usleep based on gdb_select. * gdb_usleep.h, gdb_usleep.c: New files. * Makefile.in (SFILES): Add gdb_usleep.c. (HFILES_NO_SRCDIR): Add gdb_usleep.h. (COMMON_OBS): Add gdb_usleep.o. * ser-unix.c (hardwire_send_break): Replace call to gdb_select by call to gdb_usleep. 2009-03-23 Joel Brobecker * buildsym.c (end_symtab): If we ignore the subfiles, then unlink the associated symtabs if they were already allocated. 2009-03-23 Jerome Guitton Provide a way to force building of GDB with libcurses. * configure.ac: Add --with-curses. * configure: Regenerated. 2009-03-23 Tom Tromey * dwarf2expr.c (execute_stack_op) : Fix typo in error message. 2009-03-23 Paul Pluzhnikov * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Use solib_contains_address_p instead of searching. 2009-03-23 Tom Tromey * charset.c (ICONV_CONST) : Define. (iconv): Make 'inbuf' argument const. (convert_between_encodings): Use ICONV_CONST. (wchar_iterate): Likewise. 2009-03-22 Christopher Faylor * windows-nat.c (AdjustTokenPrivileges): Implement macro wraparound for dynamically loaded function. (LookupPrivilegeValueA): Ditto. (OpenProcessToken): Ditto. (AdjustTokenPrivileges): Rename and define placeholder for address of dynamically loaded function. (LookupPrivilegeValueA): Ditto. (OpenProcessToken): Ditto. (set_process_privilege): Remove check for loaded functions. (bad_OpenProcessToken): Define. (_initialize_loadable): Load token functions from advapi here, setting OpenProcessToken function to a dummy static function which always return error if OS doesn't support this functionality. 2009-03-22 Nicolas Roche Christopher Faylor * win32-nat.c (ctrl_c_handler): New function. (win32_wait): Register ctrl_c_handler as Ctrl-C handler if the inferior is run in a separate console. 2009-03-22 Christopher Faylor * windows-nat.c (DebugActiveProcessStop): Implement macro wraparound for dynamically loaded function. (DebugBreakProcess): Ditto. (DebugSetProcessKillOnExit): Ditto. (EnumProcessModules): Ditto. (GetModuleFileNameExA): Ditto. (GetModuleInformation): Ditto. (DebugActiveProcessStop): Rename and define placeholder for address of dynamically loaded function. (DebugBreakProcess): Ditto. (DebugSetProcessKillOnExit): Ditto. (EnumProcessModules): Ditto. (GetModuleFileNameExA): Ditto. (GetModuleInformation): Ditto. (psapi_loaded): Delete. (get_module_name): Don't check psapi_loaded, just rely on the fact that dynamically loaded functions will return failure if they weren't previously found. (has_detach_ability): Delete. (windows_attach): Remove call to has_detach_ability (). Just rely on functions being callable. (bad_DebugActiveProcessStop): Define. (bad_DebugBreakProcess): Ditto. (bad_DebugSetProcessKillOnExit): Ditto. (bad_EnumProcessModules): Ditto. (bad_GetModuleFileNameExA): Ditto. (bad_GetModuleInformation): Ditto. (_initialize_loadable): Rename from _initialize_psapi. Initialize all dynamic storage here, setting nonexistent functions to dummy static functions which always return error. 2009-03-22 Pedro Alves * mi/mi-interp.c (mi_interpreter_init): Attach mi_about_to_proceed to the about_to_proceed observer notification. (mi_about_to_proceed): New. (mi_on_resume): Only output ^running and the prompt here if the target was proceeded. * breakpoint.c (breakpoint_proceeded): New static. (breakpoint_about_to_proceed): New. (_initialize_breakpoints): Attach breakpoint_about_to_proceed to the about_to_proceed observer notification. * inferior.h (breakpoint_proceeded): Delete declaration. * infrun.c (clear_proceed_status): Don't set breakpoint_proceeded. Notify the about_to_proceed observers. (struct inferior_status): Delete breakpoint_proceeded member. (save_inferior_status): Don't save it. (restore_inferior_status): Don't restore it. * mi-main.h (mi_proceeded): Declare. * mi/mi-main.c (mi_cmd_execute): Clear mi_proceeded before running a command. 2009-03-22 Pedro Alves * gdbthread.h (struct thread_info): Add in_infcall member. * infcall.c (run_inferior_call): Save, set and restore in_infcall. Remove reverences to suppress_resume_observer. Refresh `call_thread' after returning from `proceed'. * infcmd.c (suppress_resume_observer): Delete. * inferior.h (suppress_resume_observer): Delete declaration. * mi/mi-interp.c (mi_on_resume): Suppress output while calling an inferior function. * thread.c (set_running): Remove references to suppress_resume_observer. * infrun.c (struct inferior_status): Add in_infcall member. (save_inferior_status): Save it. (restore_inferior_status): Restore it. 2009-03-22 Pedro Alves * infcall.c (run_inferior_call): Remove references to suppress_stop_observer. * infcmd.c (suppress_stop_observer): Delete. (finish_command_continuation): Remove NOTE. Don't clear suppress_stop_observer anymore. (finish_command_continuation_free_arg): Likewise. (finish_forward): Remove references to suppress_stop_observer. Call normal_stop observer if we haven't already. * inferior.h (suppress_stop_observer): Delete. * infrun.c (normal_stop): When deciding to suppress the normal_stop observer, check for proceed_to_finish instead of suppress_stop_observer. 2009-03-22 Pedro Alves * symfile.c (symfile_relocate_debug_section): Remove check for SEC_DEBUGGING. 2009-03-21 Jan Kratochvil Jim Blandy Thiago Jung Bauermann Tom Tromey Miscellaneous fixes to the Python code. * python/python-cmd.c (cmdpy_init): Accept keyword arguments. * python/python-value.c (valpy_string): Accept keyword arguments. (valpy_binop): Use `break' to exit from the TRY_CATCH block. Do not call value_to_value_object on NULL RES_VAL. (value_object_methods): Change `string' entry to also accept keyword arguments. (convert_value_from_python): Return a copy of the value if obj is a gdb.Value object. (value_object_methods): Mark the `string' method as accepting keywords, and show method "prototype" in the doc string. * python/python.c (get_parameter): Don't return inside a TRY_CATCH. 2009-03-20 Tom Tromey 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 . (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) : New field. 2009-03-20 Tom Tromey * c-lang.c (evaluate_subexp_c): Call check_typedef. 2009-03-20 Tom Tromey Julian Brown PR i18n/7220, PR i18n/7821, PR exp/8815, PR exp/9103, PR i18n/9401, PR exp/9613: * NEWS: Update * value.h (value_typed_string): Declare. (val_print_string): Update. * valprint.h (print_char_chars): Update. * valprint.c (print_char_chars): Add type argument. Update. (val_print_string): Likewise. * valops.c (value_typed_string): New function. * utils.c (host_char_to_target): New function. (parse_escape): Use host_char_to_target, host_hex_value. Update. Remove '^' case. (no_control_char_error): Remove. * typeprint.c (print_type_scalar): Update. * scm-valprint.c (scm_scmval_print): Update. * scm-lang.h (scm_printchar, scm_printstr): Update. * scm-lang.c (scm_printchar): Add type argument. (scm_printstr): Likewise. * printcmd.c (print_formatted): Update. (print_scalar_formatted): Update. (printf_command) : New constants. Handle '%lc' and '%ls'. * parser-defs.h (struct typed_stoken): New type. (struct stoken_vector): Likewise. (write_exp_string_vector): Declare. * parse.c (write_exp_string_vector): New function. * p-valprint.c (pascal_val_print): Update. * p-lang.h (is_pascal_string_type, pascal_printchar, pascal_printstr): Update. * p-lang.c (is_pascal_string_type): Remove 'char_size' argument. Add 'char_type' argument. (pascal_emit_char): Add type argument. (pascal_printchar): Likewise. (pascal_printstr): Likewise. * objc-lang.c (objc_emit_char): Add type argument. (objc_printchar): Likewise. (objc_printstr): Likewise. * macroexp.c (get_character_constant): Handle unicode characters. Use c_parse_escape. (get_string_literal): Handle unicode strings. Use c_parse_escape. * m2-valprint.c (print_unpacked_pointer): Update. (m2_print_array_contents): Update. (m2_val_print): Update. * m2-lang.c (m2_emit_char): Add type argument. (m2_printchar): Likewise. (m2_printstr): Likewise. * language.h (struct language_defn) : Add type argument. : Likewise. (LA_PRINT_CHAR): Likewise. (LA_PRINT_STRING): Likewise. (LA_EMIT_CHAR): Likewise. * language.c (unk_lang_emit_char): Add type argument. (unk_lang_printchar): Likewise. (unk_lang_printstr): Likewise. * jv-valprint.c (java_val_print): Update. * jv-lang.c (java_emit_char): Add type argument. * f-valprint.c (f_val_print): Update. * f-lang.c (f_emit_char): Add type argument. (f_printchar): Likewise. (f_printstr): Likewise. * expprint.c (print_subexp_standard): Update. * charset.h (target_wide_charset): Declare. (c_target_char_has_backslash_escape, c_parse_backslash, host_char_print_literally, host_char_to_target, target_char_to_host, target_char_to_control_char): Remove. (enum transliterations): New type. (convert_between_encodings): Declare. (HOST_ESCAPE_CHAR): New define. (host_letter_to_control_character, host_hex_value): Declare. (enum wchar_iterate_result): New enum. (struct wchar_iterator): Declare. (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator, wchar_push_back): Declare. * charset-list.h: New file. * c-valprint.c (textual_name): New function. (textual_element_type): Handle wide character types. (c_val_print): Pass original type to textual_element_type. Handle wide character types. (c_value_print): Use textual_element_type. Pass original type of value to val_print. * c-lang.h (enum c_string_type): New type. (c_printchar, c_printstr): Update. * c-lang.c (classify_type): New function. (print_wchar): Likewise. (c_emit_char): Add type argument. Handle wide characters. (c_printchar): Likewise. (c_printstr): Add type argument. Handle wide and multibyte character sets. (convert_ucn): New function. (emit_numeric_character): Likewise. (convert_octal): Likewise. (convert_hex): Likewise. (ADVANCE): New macro. (convert_escape): New function. (parse_one_string): Likewise. (evaluate_subexp_c): Likewise. (exp_descriptor_c): New global. (c_language_defn): Use exp_descriptor_c. (cplus_language_defn): Likewise. (asm_language_defn): Likewise. (minimal_language_defn): Likewise. (charset_for_string_type): New function. * c-exp.y (%union): Add 'svec' and 'tsval'. (CHAR): New token. (exp): Add CHAR production. (string_exp): Rewrite. (exp) : Rewrite. (tempbuf): Now global. (tempbuf_init): New global. (parse_string_or_char): New function. (yylex) : Now global. : Remove. Handle 'u', 'U', and 'L' prefixes. Call parse_string_or_char. (c_parse_escape): New function. * auxv.c (fprint_target_auxv): Update. * ada-valprint.c (ada_emit_char): Add type argument. (ada_printchar): Likewise. (ada_print_scalar): Update. (printstr): Add type argument. Update calls to ada_emit_char. (ada_printstr): Add type argument. (ada_val_print_array): Update. (ada_val_print_1): Likewise. * ada-lang.c (emit_char): Add type argument. * ada-lang.h (ada_emit_char, ada_printchar, ada_printstr): Add type arguments. * gdb_locale.h: Include langinfo.h. * charset.c (_initialize_charset): Set default host charset from the locale. Don't register charsets. Add target-wide-charset commands. Call find_charset_names. (struct charset, struct translation): Remove. (GDB_DEFAULT_HOST_CHARSET): Remove. (GDB_DEFAULT_TARGET_WIDE_CHARSET): New define. (target_wide_charset_name): New global. (show_host_charset_name): Handle "auto". (show_target_wide_charset_name): New function. (host_charset_enum, target_charset_enum): Remove. (charset_enum): New global. (all_charsets, register_charset, lookup_charset, all_translations, register_translation, lookup_translation): Remove. (simple_charset, ascii_print_literally, ascii_to_control): Remove. (iso_8859_print_literally, iso_8859_to_control, iso_8859_family_charset): Remove. (ebcdic_print_literally, ebcdic_to_control, ebcdic_family_charset): Remove. (struct cached_iconv, check_iconv_cache, cached_iconv_convert, register_iconv_charsets): Remove. (target_wide_charset_be_name, target_wide_charset_le_name): New globals. (identity_either_char_to_other): Remove. (set_be_le_names, validate): New functions. (backslashable, backslashed, represented): Remove. (default_c_target_char_has_backslash_escape): Remove. (default_c_parse_backslash, iconv_convert): Remove. (ascii_to_iso_8859_1_table, ascii_to_ebcdic_us_table, ascii_to_ibm1047_table, iso_8859_1_to_ascii_table, iso_8859_1_to_ebcdic_us_table, iso_8859_1_to_ibm1047_table, ebcdic_us_to_ascii_table, ebcdic_us_to_iso_8859_1_table, ebcdic_us_to_ibm1047_table, ibm1047_to_ascii_table, ibm1047_to_iso_8859_1_table, ibm1047_to_ebcdic_us_table): Remove. (table_convert_char, table_translation, simple_table_translation): Remove. (current_host_charset, current_target_charset, c_target_char_has_backslash_escape_func, c_target_char_has_backslash_escape_baton): Remove. (c_parse_backslash_func, c_parse_backslash_baton): Remove. (host_char_to_target_func, host_char_to_target_baton): Remove. (target_char_to_host_func, target_char_to_host_baton): Remove. (cached_iconv_host_to_target, cached_iconv_target_to_host): Remove. (lookup_charset_or_error, check_valid_host_charset): Remove. (set_host_and_target_charsets): Remove. (set_host_charset, set_target_charset): Remove. (set_host_charset_sfunc, set_target_charset_sfunc): Rewrite. (set_target_wide_charset_sfunc): New function. (show_charset): Print target wide character set. (host_charset, target_charset): Rewrite. (target_wide_charset): New function. (c_target_char_has_backslash_escape): Remove. (c_parse_backslash): Remove. (host_letter_to_control_character): New function. (host_char_print_literally): Remove. (host_hex_value): New function. (target_char_to_control_char): Remove. (cleanup_iconv): New function. (convert_between_encodings): New function. (target_char_to_host): Remove. (struct wchar_iterator): Define. (make_wchar_iterator, make_cleanup_wchar_iterator, wchar_iterator, wchar_push_back): New functions. (do_cleanup_iterator): New function. (char_ptr): New typedef. (charsets): New global. (add_one, find_charset_names): New functions. (default_charset_names): New global. (auto_host_charset_name): Likewise. * aclocal.m4, config.in, configure: Rebuild. * configure.ac: Call AM_LANGINFO_CODESET. (GDB_DEFAULT_HOST_CHARSET): Default to UTF-8. (AM_ICONV): Invoke earlier. * acinclude.m4: Include codeset.m4. Subst LIBICONV_INCLUDE and LIBICONV_LIBDIR. Check for libiconv in build tree. * Makefile.in (LIBICONV_LIBDIR, LIBICONV_INCLUDE): New macros. (INTERNAL_CFLAGS_BASE): Add LIBICONV_INCLUDE. (INTERNAL_LDFLAGS): Add LIBICONV_LIBDIR. * gdb_obstack.h (obstack_grow_wstr): New define. * gdb_wchar.h: New file. * defs.h: Include it. 2009-03-20 Tom Tromey Jan Kratochvil * dwarf2read.c (process_die): Handle DW_TAG_typedef. * eval.c (evaluate_subexp_standard) : Strip a single typedef. * ada-lang.c (decode_packed_array_type): Call CHECK_TYPEDEF on the SYMBOL_TYPE result. * ada-typeprint.c (print_array_type): Do the NULL check unconditionally. 2009-03-19 Tom Tromey * utils.c (do_obstack_free): New function. (make_cleanup_obstack_free): Likewise. * defs.h (make_cleanup_obstack_free): Declare. 2009-03-18 Doug Evans * linux-nat.c (linux_nat_find_memory_regions): Result of PIDGET is an int, not a long long. (linux_nat_info_proc_cmd): Store pid in long instead of long long. * expprint.c (dump_raw_expression): Print note if non-NULL. * printcmd.c (display_uses_solib_p): Redo loop, scan element list backwards. 2009-03-18 Nathan Sidwell * Makefile.in: Update license to GPLv3. * ada-exp.y: Update license to GPLv3. * ada-lex.l: Update license to GPLv3. * c-exp.y: Update license to GPLv3. * cp-name-parser.y: Update license to GPLv3. * darwin-nat-info.c: Update license to GPLv3. * f-exp.y: Update license to GPLv3. * gdb_thread_db.h: Update license to GPLv3. * hppanbsd-nat.c: Update license to GPLv3. * hppanbsd-tdep.c: Update license to GPLv3. * hppaobsd-tdep.c: Update license to GPLv3. * jv-exp.y: Update license to GPLv3. * m2-exp.y: Update license to GPLv3. * objc-exp.y: Update license to GPLv3. * p-exp.y: Update license to GPLv3. * reply_mig_hack.awk: Update license to GPLv3. * reverse.c: Update license to GPLv3. * xtensa-xtregs.c: Update license to GPLv3. 2009-03-18 Pedro Alves * remote.c (remote_close): Don't call generic_mourn_inferior. (remote_mourn_1): Call generic_mourn_inferior after closing the target. 2009-03-18 Pedro Alves * remote.c (remote_start_remote): Add missing call to init_wait_for_inferior in non-stop mode. 2009-03-18 Pedro Alves * breakpoint.c (bpstat_should_step): Only consider software watchpoints that have a location. 2009-03-17 Joel Brobecker Add a target_ops parameter to the to_kill method in struct target_ops. * target.h (struct target_ops): Add a "target_ops *" parameter to method to_kill. (target_kill): Remove macro. Add declaration. * target.c (debug_to_kill): Delete, no longer necessary. (target_kill): New function. (update_current_target): Stop inheriting the to_kill method. Do not de_fault it to no_process either. (setup_target_debug): Do not set current_target.to_kill. * gnu-nat.c, go32-nat.c, hpux-thread.c, inf-ptrace.c, inf-ttrace.c, linux-nat.c, monitor.c, nto-procfs.c, procfs.c, remote-m32r-sdi.c, remote-mips.c, remote-sim.c, remote.c, windows-nat.c: Update accordingly. 2009-03-17 Doug Evans * amd64-linux-nat.c (si_timerid,si_overrun): Provide definition for glibc 2.3.2 and earlier. 2009-03-17 Joel Brobecker * frame.c (get_prev_frame_1): Do not perform the inner_frame sanity check if this_frame is not NORMAL. (frame_id_inner): Update the description of this function. 2009-03-17 Hui Zhu * stack.c: Change the introduce of "disassemble-next-line". 2009-03-17 Pedro Alves * mi/mi-main.h (mi_print_timing_maybe): Add strict prototype, declare as extern. 2009-03-17 Hui Zhu * stack.c: Include valprint.h. (disassemble_next_line): New enum. (show_disassemble_next_line): New function. Show the current value of disassemble-next-line. (gdb_disassembly_stub_args): New struct for argument passing between function do_gdb_disassembly and function gdb_disassembly_stub. (gdb_disassembly_stub): New function. Helper for gdb_disassembly. (do_gdb_disassembly): New function. Use TRY_CATCH to catch the exception from the gdb_disassembly because it will be broken by filter sometime. (print_frame_info): If disassemble-next-line is set to auto or on and doesn't have the line debug messages for $pc, output the next instruction. If disassemble-next-line is set to on and there is line debug messages, output assembly codes for next line. (_initialize_stack): Make the "set disassemble-next-line" command an auto-boolean command. Change its class to class_stack. Place it in the top level set list. Extend help to describe the auto mode. 2009-03-17 Pedro Alves * infrun.c (normal_stop): Don't overwrite old_chain. 2009-03-16 Joel Brobecker * remote-mips.c (mips_load): Replace call to regcache_set_valid_p, which is undefined, by call to regcache_invalidate, which should do what the original author wanted to do. 2009-03-16 Joel Brobecker * remote-mips.c (mips_mourn_inferior): Add missing ops parameter. (mips_create_inferior): Likewise. 2009-03-16 Joel Brobecker * go32-nat.c (go32_create_inferior): Add missing ops parameter. 2009-03-16 Joel Brobecker * darwin-nat.c (darwin_resume): Fix a compiler warning when building on x86_64-darwin. 2009-03-16 Tristan Gingold * configure.tgt: Add handling for x86_64-darwin. 2009-03-16 Jan Kratochvil * auxv.c (fprint_target_auxv): New TAG for AT_RANDOM. 2009-03-15 Joel Brobecker * aix-thread.c (aix_thread_thread_alive, aix_thread_pid_to_str): Use the ops parameter to get to the target beneath, rather than using the current_target global. Using the current_target global was an unintended accident. 2009-03-15 Joel Brobecker Fix an error happening while loading symbols from a core file (on AIX). * rs6000-nat.c (xcoff_relocate_symtab): Use target_has_execution to detect whether we're debugging a core file or not. 2009-03-15 Joel Brobecker Modernize the aix-thread later by getting rid of the base_target global. This brings back to life the AIX port which was otherwise crashing all the time. * aix-thread.c (base_target): Delete. (pd_enable): Do not set base_target. (aix_thread_attach): Use find_target_beneath instead of base_target. (aix_thread_detach, aix_thread_resume, aix_thread_wait) (aix_thread_fetch_registers, aix_thread_store_registers), (aix_thread_xfer_partial, aix_thread_mourn_inferior) (aix_thread_thread_alive, aix_thread_pid_to_str): Likewise. (aix_thread_kill): Delete. Does not seem necessary. (init_aix_thread_ops): Do not set aix_thread_ops.to_kill. 2009-03-15 Jan Kratochvil * stack.c (return_command ): New variables retval_expr and old_chain. Inline parse_and_eval to initialize retval_expr. Check RETVAL_EXPR for UNOP_CAST and set RETURN_TYPE to the RETURN_VALUE type if RETURN_TYPE is NULL. 2009-03-14 Pedro Alves * remote.c (PACKET_qAttached): New. (remote_query_attached): New. (remote_add_inferior): Add new `attached' argument. Handle it. (remote_notice_new_inferior, remote_start_remote): Adjust to pass -1 to remote_add_inferior in new parameter. (extended_remote_attach_1): Adjust to pass 1 to remote_add_inferior in the new parameter. (extended_remote_create_inferior_1): Adjust to pass 0 to remote_add_inferior in the new parameter. (_initialize_remote): Add "set/show remote query-attached-packet" commands. 2009-03-13 Tom Tromey * symtab.c (lookup_symbol_in_language): Use a cleanup. 2009-03-13 Doug Evans * exceptions.h: Clean up some comments on catch_exceptions usage. * exceptions.c: Ditto. Plus mark catch_errors as superseded by catch_exceptions. 2009-02-17 Joel Brobecker The following patch helps getting rid of a warning inside solib-som.c. * source.c (source_full_path_of): Constify parameter filename. * defs.h (source_full_path_of): Update declaration accordingly. 2009-03-12 Joel Brobecker * ada-lang.c (ada_evaluate_subexp): Merge case BINOP_REM and BINOP_MOD cases with the handling of case BINOP_DIV and BINOP_MUL. Remove useless op value checks when EVAL_AVOID_SIDE_EFFECTS. 2009-03-12 Joel Brobecker * ada-lang.c (ada_evaluate_subexp) : make sure to promote the operands when noside is EVAL_AVOID_SIDE_EFFECTS. 2009-03-12 Joel Brobecker * ada-tasks.c (ada_task_is_alive): Move up and make static. * ada-lang.h (ada_task_is_alive): Remove declaration. 2009-03-12 Jerome Guitton * ada-lang.c (ada_delta): Change the type of numerators and denominators to DOUBLEST, as they may not fit into a long. (scaling_factor): Ditto. 2009-03-12 Jerome Guitton * language.c (lang_bool_type): Set lai->bool_type_symbol to NULL. 2009-03-12 Joel Brobecker * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: For tagged types, if we are unable to determine the actual symbol type from its tag, then use the static approximation instead. 2009-03-12 Joel Brobecker Fix crash printing packed record with packed array. * ada-lang.c (ada_modulus_from_name): New function. (ada_modulus): In the case where the type length is bigger than the size of the type used to hold the bounds, try determining the modulus from the type name. (ada_value_primitive_packed_val): Fix bug in the computation of ntarg causing an out-of-buffer invalid access. 2009-03-12 Joel Brobecker Fix segfault when printing short_integer'last. * ada-lang.c (ada_find_any_type): Search in the primitive types if a symbol could not be found. 2009-03-12 Joel Brobecker * ada-tasks.c (task_states,long_task_states): Add new states Activating and Acceptor_Delay_Sleep. Update the description of state Acceptor_Sleep. 2009-03-12 Jonas Maebe (obvious change) Fix a build failure on Darwin following some changes in the profile of some target_ops methods. * darwin-nat.c (darwin_kill_inferior): Add target_ops parameter where missing. (darwin_stop_inferior, darwin_detach): Likewise. 2009-03-12 Vladimir Prus Include token in ^running notification for CLI commands. * mi/mi-main.c (mi_execute_command): Set current_token here. (mi_cmd_execute): Do not set current_token here. 2009-03-12 Vladimir Prus Fix MI timings. * mi/mi-main.c (mi_print_timing_maybe): New. (captured_mi_execute_command): Simplify. Output timings to CLI commands, too. (mi_execute_async_cli_command): Do not print timings. * mi/mi-main.h (mi_print_timing_maybe): Declare. * mi/mi-interp.c (mi_on_normal_stop): Call mi_print_timing_maybe. 2009-03-12 Jerome Guitton * xcoffread.c (process_linenos): Check if the line in the include table refers to the main source file and, if so, add them to the main subfile. 2009-03-12 Joel Brobecker Fix a build failure on AIX introduced after a change in the profile of some of the "methods" in the target_ops structure. * aix-thread.c: Add missing target_ops parameter throughout. Implement Ada task switching on AIX. * aix-thread.c (aix_thread_get_ada_task_ptid): New function. (init_aix_thread_ops): Set aix_thread_ops.to_get_ada_task_ptid. 2009-03-11 Daniel Jacobowitz * breakpoint.c (bpstat_check_breakpoint_conditions): Use value_mark and value_free_to_mark. * objfiles.c (free_objfile): Call objfile_free_data before freeing the BFD. 2009-03-10 Hui Zhu * disasm.c (gdb_disassembly): Remove unused argument "line_num". * disasm.h (gdb_disassembly): Ditto. * cli/cli-cmds.c (print_disassembly): Ditto. * mi/mi-cmd-disas.c (mi_cmd_disassemble): Ditto. 2009-03-09 Paul Pluzhnikov * solib.c (solib_contains_address_p): New function. (solib_name_from_address): Use it. * printcmd.c (display_uses_solib_p): Use it. * solib.h (solib_contains_address_p): Declare it. 2009-03-09 Jan Kratochvil * varobj.c (free_variable): Call value_free. 2009-03-09 Jan Kratochvil PR gdb/9873: * dwarf2read.c (dwarf_decode_macros): New variable `at_commandline'. Move the variable `macinfo_type' out of the loop. Create a new processing pass before the current one to pre-create `current_file'. New complaint on misplaced zero/non-zero definitions/includes. Skip first DW_MACINFO_start_file with `at_commandline' set. 2008-03-09 Vladimir Prus * solib.c (reload_shared_libraries): Give inferior a chance to reset solib breakpoint. Reinit frame cache. 2009-03-08 Christopher Faylor * windows-nat.c (dr): Redefine to use largest possible integer which holds a pointer. (cygwin_set_dr): Avoid coercion. 2009-03-08 Oswald Buddenhagen * windows-nat.c (windows_create_inferior): Implement --tty handling on non-cygwin. 2009-03-06 Paul Pluzhnikov Rename solib_address to solib_name_from_address. * breakpoint.c (insert_bp_location, disable_breakpoints_in_shlibs) (disable_breakpoints_in_unloaded_shlib): Update. * printcmd.c (display_uses_solib_p): Likewise. * stack.c (print_frame): Likewise. * solib.c: Rename. * solib.h: Rename. 2009-03-05 Paul Pluzhnikov * printcmd.c (do_one_display): Reparse exp_string. (display_uses_solib_p): New function. (clear_dangling_display_expressions): New function. (_initialize_printcmd): Add observer. * solib.c (no_shared_libraries): Swap order of calls to clear_solib and objfile_purge_solibs. 2009-03-05 Joel Brobecker Implement the target-specific part of Ada tasking support on Tru64. * dec-thread.c (dec_thread_get_ada_task_ptid): New function. (init_dec_thread_ops): Set the to_get_ada_task_ptid method. 2009-03-05 Joel Brobecker Get rid of the global "base_target" and use "find_target_beneath" to find the underlying target. * dec-thread.c (base_target): Delete. (enable_dec_thread): Remove assignement to base_target. (dec_thread_detach, dec_thread_wait, dec_thread_wait) (dec_thread_fetch_registers, dec_thread_store_registers) (dec_thread_mourn_inferior, dec_thread_pid_to_str): Update the function profile if necessary. Use find_target_beneath to call the same method but from the underlying target, removing the need for "base_target". * dec-thread.c (dec_thread_get_regsets, dec_thread_set_regsets): Fix a copy/paste error in a few debug traces... * solib-osf.c (init_so): Use a simpler method for computing the size of lm_info structure. This also gets rid of warning emitted by the compiler. 2009-03-05 Pedro Alves * breakpoint.c (check_duplicates_for): Skip permanent breakpoints duplicates of permanent breakpoints. 2009-03-04 Pedro Alves * inferior.h (notice_new_inferior): Declare. * infcmd.c (notice_new_inferior): New. * remote.c (remote_add_inferior, remote_add_thread): New. (notice_new_inferiors): Rename to... (remote_notice_new_inferior): ... this. Add RUNNING argument. Use remote_add_thread instead of add_thread, passing it the RUNNING argument. Add an inferior with remote_add_inferior. If we just learned about an inferior, call notice_new_inferior. (record_currthread): Adjust. (remote_threads_info): Adjust to use remote_notice_new_inferior. (remote_start_remote, extended_remote_attach_1): Use remote_add_inferior. (process_stop_reply): Adjust. Call remote_notice_new_inferior after handling expedited registers and watchpoint state. (extended_remote_create_inferior_1): Use remote_add_inferior. 2009-03-04 Aleksandar Ristovski * infcmd.c (registers_info): Remove register number case. 2009-03-03 Pedro Alves * top.c (quit_target): Check for target_has_execution before killing or detaching from inferiors. 2009-03-02 Joel Brobecker Remove some unused routines. * ada-lang.c (is_suppressed_name, ada_suppress_symbol_printing): Delete. * ada-lang.c (ada_task_list_iterator_ftype) (iterate_over_live_ada_tasks): Delete. * ada-tasks.c (ada_get_environment_task, iterate_over_live_ada_tasks): Delete. 2009-03-01 Doug Evans * symtab.c: Remove trailing whitespace throughout the file. (expand_line_sal): Fix some typos and whitespace. * Makefile.in (clean): rm -f $(DEPDIR)/*. * Makefile.in (GDB_CFLAGS): Add -I$(srcdir)/common. (init.c): signals/ -> common/. (signals.o): Update. * target.h (target_signal_to_string,target_signal_to_string) (target_signal_from_name,target_signal_to_host_p) (target_signal_from_host,target_signal_to_host): Move to ... * common/gdb_signals.h: ... here. New file. * common/signals.c: Moved here from signals/signals.c. #include gdb_signals.h, remove #include of target.h in gdb case. (target_signal_from_command,default_target_signal_to_host) (default_target_signal_from_host): Move inside #ifndef GDBSERVER. Include thread ID in target_wait debugging output. * infrun.c (print_target_wait_results): New function. (wait_for_inferior,fetch_inferior_event): Call it. 2009-02-27 Pedro Alves * gdb_proc_service.h (struct ps_prochandle): Replace pid_t field with a ptid_t field. * linux-thread-db.c (thread_get_info_callback): Build the ptid using the pid stored in proc_handle.ptid. (thread_from_lwp, thread_db_attach_lwp, enable_thread_event) (check_for_thread_db, thread_db_detach, check_event) (thread_db_mourn_inferior, find_new_threads_callback) (thread_db_find_new_threads_1): Adjust. * proc-service.c (ps_xfer_memory, ps_lgetregs, ps_lsetregs) (ps_lgetfpregs, ps_lsetfpregs, ps_getpid): Adjust. 2009-02-27 Phil Muldoon * valprint.c (read_string): Rework clean-up logic. Use free_current_contents to clean-up buffer. 2009-02-27 Andreas Schwab * MAINTAINERS: Update e-mail address. 2009-02-26 Phil Muldoon * python/python-utils.c (python_string_to_unicode): Always return a new reference. (python_string_to_target_string): Decrement transient python instance. (python_string_to_host_string): Likewise. 2007-02-26 Pedro Alves * mips-linux-nat.c (mips64_linux_fetch_registers): Pass `ops' to call to super_fetch_registers. (mips64_linux_store_registers): Pass `ops' to call to super_store_registers. 2009-02-25 Doug Evans * breakpoint.c (insert_bp_location): Add \n to overlay breakpoint error message. * breakpoint.c (disable_breakpoints_in_shlibs): Delete local disabled_shlib_breaks, unused. * printcmd.c (build_address_symbolic): Fix comment. 2009-02-25 Hui Zhu * cli/cli-script.c (define_command): Add _() to query. * gnu-nat.c (inf_validate_task_sc): Ditto. * infcmd.c (kill_if_already_running): Ditto. (jump_command): Ditto. (attach_command): Ditto. * inflow.c (kill_command): Ditto. * infrun.c (handle_command): Ditto. * maint.c (maintenance_dump_me): Ditto. * memattr.c (mem_delete_command): Ditto. * monitor.c (monitor_interrupt_query): Ditto. * nto-procfs.c (interrupt_query): Ditto. * printcmd.c (undisplay_command): Ditto. * remote-mips.c (mips_kill): Ditto. * remote.c (interrupt_query): Ditto. * solib-irix.c (irix_open_symbol_file_object): Ditto. * solib-osf.c (osf_open_symbol_file_object): Ditto. * solib-pa64.c (pa64_open_symbol_file_object): Ditto. * solib-som.c (som_open_symbol_file_object): Ditto. * solib-svr4.c (open_symbol_file_object): Ditto. * symfile.c (symbol_file_add_with_addrs_or_offsets): Ditto. * target.c (kill_or_be_killed): Ditto. * tracepoint.c (delete_trace_command): Ditto. * top.c (quit_confirm): Add _() to s that will be used in query. 2009-02-24 Pierre Muller Fix windows-nat.c compilation failure. * windows-nat.c (windows_thread_alive): Fix forward declaration. (get_windows_debug_event): Add ops parameter to call to windows_resume. 2009-02-23 Pedro Alves * remote-sim.c (gdbsim_resume): Add target_ops* argument. 2009-02-23 Jay Krell (tiny change) * symtab.c (find_line_symtab): Initialize exact to avoid a compiler warning. 2009-02-23 Pedro Alves * i386-linux-nat.c (i386_linux_fetch_inferior_registers): Pass `ops' to recursive call. 2009-02-23 Pedro Alves * corelow.c (get_core_registers): Adjust. (core_file_thread_alive): Rename to... (core_thread_alive): ... this. (core_pid_to_str): Try gdbarch_core_pid_to_str first. (init_core_ops): Adjust. (coreops_suppress_target): Delete. (_initialize_corelow): Unconditionally add core_ops. * procfs.c: Include "inf-child.h". (procfs_ops): Delete. (init_procfs_ops): Delete. Reimplement as... (procfs_target): ... this, inheriting from inf-child. (procfs_attach, procfs_detach, procfs_fetch_registers): Adjust. (procfs_prepare_to_store): Delete. (procfs_store_registers, procfs_resume): Adjust. (procfs_open): Delete. (procfs_suppress_run): Delete. (procfs_can_run): Delete. (procfs_mourn_inferior): Adjust. (procfs_init_inferior): Add target_ops parameter. Adjust. (procfs_create_inferior): Don't pass procfs_init_inferior to fork_inferior. Instead call it after fork_inferior returns. (procfs_find_new_threads): Adjust. (_initialize_procfs): Adjust to use procfs_target instead of init_procfs_ops. * sol-thread.c (orig_core_ops, sol_core_ops): Delete. (lwp_to_thread): Use target_thread_alive. (sol_thread_open): Delete. (sol_thread_attach): Delete. (sol_thread_detach, sol_thread_resume, sol_thread_wait) (sol_thread_fetch_registers, sol_thread_store_registers): Adjust to use find_target_beneath. (sol_thread_prepare_to_store, sol_thread_xfer_memory): Delete. (sol_thread_xfer_partial): Adjust to use find_target_beneath. (sol_thread_files_info, sol_thread_kill_inferior): Delete. (check_for_thread_db): New. (sol_thread_notice_signals, sol_thread_create_inferior): Delete. (sol_thread_new_objfile): Call check_for_thread_db. (sol_thread_mourn_inferior): Adjust to use find_target_beneath. (sol_thread_can_run): Delete. (sol_thread_alive): Adjust to use find_target_beneath. (sol_thread_stop): Delete. (rw_common): Use target_write_memory or target_read_memory. (ps_lgetregs, ps_lgetfpregs): Use target_fetch_registers. (ps_lsetregs, ps_lsetfpregs): Use target_store_registers. (solaris_pid_to_str): Remove check for libthread_db initialization failing. (sol_find_new_threads): Remove check for libthread_db initialization failing, or for an invalid inferior_ptid. Adjust to use find_target_beneath. (sol_core_open, sol_core_close, sol_core_detach, sol_core_files_info, sol_find_memory_regions, sol_make_note_section, ignore): Delete. (init_sol_thread_ops): Make it a thread_stratum target. Remove unneeded callback settings. (init_sol_core_ops): Delete. (_initialize_sol_thread): No longer call init_sol_core_ops, set procfs_suppress_run, or hack with core_ops. * target.h (struct target_ops): Add a target_ops * parameter to to_resume, to_fetch_registers, to_store_registers, to_thread_alive and to_find_new_threads. (target_fetch_registers, target_store_registers) (target_thread_alive, target_find_new_threads): Redeclare as function. * target.c (update_current_target): Do not inherit or de_fault to_resume, to_fetch_registers, to_store_registers, to_thread_alive, to_find_new_threads. (target_resume): Adjust. (target_thread_alive, target_find_new_threads): New. (debug_to_resume, debug_to_fetch_registers): Delete. (target_fetch_registers): New. (debug_to_store_registers): Delete. (target_store_registers): New. (debug_to_thread_alive, debug_to_find_new_threads): Delete. (setup_target_debug): Adjust. * gdbcore.h (core_ops): Delete declaration. * inf-ptrace.c, linux-nat.c, remote.c, amd64-linux-nat.c, inf-child.c, linux-thread-db.c, bsd-uthread.c, inf-ttrace.c, i386-sol2-tdep.c, darwin-nat.c, gnu-nat.c, go32-nat.c, hpux-thread.c, i386-linux-nat.c, i386fbsd-nat.c, monitor.c, nto-procfs.c, remote-m32r-sdi.c, remote-mips.c, windows-nat.c, alphabsd-nat.c, amd64bsd-nat.c, arm-linux-nat.c, armnbsd-nat.c, bsd-kvm.c, hppa-hpux-nat.c, hppa-linux-nat.c, hppabsd-nat.c, hppanbsd-nat.c, i386-darwin-nat.c, i386bsd-nat.c, ia64-linux-nat.c, m32r-linux-nat.c, m68kbsd-nat.c, m68klinux-nat.c, m88kbsd-nat.c, mips-linux-nat.c, mips64obsd-nat.c, mipsnbsd-nat.c, ppc-linux-nat.c, ppcnbsd-nat.c, ppcobsd-nat.c, remote-sim.c, rs6000-nat.c, s390-nat.c, shnbsd-nat.c, sparc-nat.c, sparc-nat.h, spu-linux-nat.c, vaxbsd-nat.c, xtensa-linux-nat.c: Adjust to target_ops changes. * gdbarch.sh (core_pid_to_str): New gdbarch callback. * gdbarch.h, gdbarch.c: Regenerate. * sol2-tdep.c: Include "inferior.h". (sol2_core_pid_to_str): New. * sol2-tdep.h (sol2_core_pid_to_str): Declare. * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it. * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it. * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it. * i386-sol2-tdep.c (i386_sol2_init_abi): Set it. 2009-02-22 Doug Evans * exec.c (exec_file_attach): Fix comment. 2009-02-22 Pedro Alves Silence a few -Wmissing-prototypes warnings. PR build/9877: * alpha-linux-tdep.c (alpha_linux_regset_from_core_section): Make it static. * alpha-osf1-tdep.c (_initialize_alpha_osf1_tdep): Declare. * amd64fbsd-tdep.c (amd64fbsd_init_abi): Make it static. * amd64nbsd-tdep.c (_initialize_amd64nbsd_ndep): Rename to ... (_initialize_amd64nbsd_tdep): ... this. * arm-linux-tdep.c (arm_linux_software_single_step): Make it static. (_initialize_arm_linux_tdep): Declare. * armbsd-tdep.c (armbsd_fpreg_offset): Make it static. * armnbsd-tdep.c (_initialize_arm_netbsd_tdep): Declare. * armobsd-tdep.c (_initialize_armobsd_tdep): Declare. * avr-tdep.c (avr_return_value): Make it static. (avr_frame_unwind_cache): Ditto. * bsd-uthread.c (bsd_uthread_inferior_created): Ditto. (bsd_uthread_solib_loaded): Ditto. (bsd_uthread_solib_unloaded): Ditto. (bsd_uthread_target): Ditto. (_initialize_bsd_uthread): Declare. * cris-tdep.c (crisv32_single_step_through_delay): Make it static. (cris_frame_unwind_cache): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_use_struct_convention): Ditto. (h8300h_use_struct_convention): Ditto. * hppa-tdep.c (hppa_sign_extend, hppa_low_hppa_sign_extend): Ditto. * hppa-tdep.h (hppa_low_sign_extend, hppa_sign_extend): Delete declarations. * hppabsd-tdep.c: Include hppabsd-tdep.h. (hppabsd_find_global_pointer): Make it static. * hppabsd-tdep.h: New. * hppanbsd-tdep.c: Include hppabsd-tdep.h. (hppabsd_init_abi): Remove declaration. (_initialize_hppabsd_tdep): Remove declaration. (_initialize_hppanbsd_tdep): Declare. * hppaobsd-tdep.c: Include hppabsd-tdep.h. (hppabsd_init_abi): Delete declaration. (hppaobsd_init_abi): Make it static. * i386-nto-tdep.c (_initialize_i386nto_tdep): Declare. * i386nbsd-tdep.c (_initialize_i386nbsd_tdep): Declare. * ia64-linux-tdep.c (_initialize_ia64_linux_tdep): Declare. * ia64-tdep.c (ia64_register_reggroup_p): Make it static. * iq2000-tdep.c (_initialize_iq2000_tdep): Declare. * m32c-tdep.c (m32c_register_reggroup_p): Make it static. (m32c_analyze_prologue, m32c_virtual_frame_pointer): Ditto. (_initialize_m32c_tdep): Declare. * m32r-rom.c (_initialize_m32r_rom): Declare. * m32r-tdep.c (m32r_skip_prologue): Make it static. (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Make it static. (m68hc11_return_value): Ditto. * m68klinux-tdep.c (_initialize_m68k_linux_tdep): Declare. * m88k-tdep.c (m88k_frame_cache): Make it static. * mep-tdep.c (mep_gdb_print_insn): Ditto. (mep_return_value): Ditto. (_initialize_mep_tdep): Declare. * mips-irix-tdep.c (_initialize_mips_irix_tdep): Declare. * mips-linux-tdep.c (supply_64bit_reg): Make it static. (mips_linux_syscall_next_pc): Ditto. (_initialize_mips_linux_tdep): Declare. * mips-tdep.c (mips_single_step_through_delay): Make it static. * mipsnbsd-tdep.c (_initialize_mipsnbsd_tdep): Declare. * mn10300-linux-tdep.c (_initialize_mn10300_linux_tdep): Declare. * mn10300-tdep.c (_initialize_mn10300_tdep): Declare. * mt-tdep.c (_initialize_mt_tdep): Declare. * nbsd-tdep.c: Include nbsd-tdep.h. * nto-tdep.c (find_load_phdr): Make it static. (_initialize_nto_tdep): Declare. * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Make it static. (_initialize_ppc_linux_tdep): Declare. * remote-m32r-sdi.c (m32r_can_use_hw_watchpoint) (m32r_insert_watchpoint, m32r_remove_watchpoint) (m32r_stopped_data_address, m32r_stopped_by_watchpoint): Make static. * rs6000-aix-tdep.c (_initialize_rs6000_aix_tdep): Declare. * rs6000-nat.c: Include xcoffread.h. (find_toc_address): Don't extern declare get_toc_offset. Adjust to call xcoff_get_to_offset. * rs6000-tdep.c (ppc_vsx_support_p, ppc_displaced_step_fixup) (rs6000_skip_main_prologue, rs6000_in_solib_return_trampoline) (rs6000_skip_trampoline_code): Make static. * s390-tdep.c (s390_regset_from_core_section): Ditto. * sh-tdep.c (sh_register_reggroup_p): Ditto. * shnbsd-tdep.c (shnbsd_regset_from_core_section): Ditto. (_initialize_shnbsd_tdep): Declare. * solib-frv.c (displacement_from_map): Make static. (_initialize_frv_solib): Declare. * solib-irix.c (fetch_lm_info): Make static. (_initialize_irix_solib): Declare. * solib-som.c: Include solib-som.h. (som_solib_select): Line break. * sparc-tdep.c (sparc_regset_from_core_section): Make static. * sparcnbsd-tdep.c (_initialize_sparnbsd_tdep): Rename to ... (_initialize_sparcnbsd_tdep): ... this. * spu-tdep.c (spu_software_single_step): Make it static. (_initialize_spu_tdep): Declare. * vax-tdep.c (vax_frame_cache): Make it static. * xcoffread.c: Include xcoffread.h. (get_toc_offset): Rename to ... (xcoff_get_toc_offset): ... this. (_initialize_xcoffread): Declare. * xcoffread.h: New. * xtensa-linux-tdep.c (_initialize_xtensa_linux_tdep): Declare. * xtensa-tdep.c (xtensa_skip_prologue, xtensa_derive_tdep): Make static. (_initialize_xtensa_tdep): Declare. 2008-02-21 Pedro Alves Silence a few -Wmissing-prototypes warnings. PR build/9877: * amd64-nat.c: Include "amd64-nat.h". * fork-child.c (_initialize_fork_child): Ditto. * gcore.c (_initialize_gcore): Ditto. * inf-ptrace.c: Include "inf-ptrace.h". (inf_ptrace_store_registers): Make it static. * linux-nat.c (linux_nat_terminal_ours): Make it static. (_initialize_linux_nat): Declare before definition. * linux-tdep.c: Include "linux-tdep.h". * linux-thread-db.c (_initialize_thread_db): Declare before definition. * proc-service.c (_initialize_proc_service): Ditto. * remote.c (remote_send_printf): Make it static. * solib.c: Include "solib.h". * symfile-mem.c (_initialize_symfile_mem): Declare before definition. * ada-lang.c (ada_la_decode, ada_match_name) (ada_suppress_symbol_printing, ada_is_array_type) (ada_value_ptr_subscript, ada_array_length) (ada_to_static_fixed_value): Make them static. (_initialize_ada_language): Declare before definition. * ada-tasks.c (ada_get_task_number, ada_get_environment_task) (ada_task_list_changed, ada_new_objfile_observer): Make them static. (_initialize_tasks): Declare before definition. * addrmap.c (_initialize_addrmap): Declare before definition. * auxv.c (default_auxv_parse): Make it static. * bfd-target.c (target_bfd_xfer_partial, target_bfd_xclose): Make them static. * breakpoint.c (remove_sal): Add line break. (expand_line_sal_maybe): Make it static. * cp-name-parser.y: Include "cp-support.h". * cp-valprint.c (cp_find_class_member): Make it static. * eval.c (value_f90_subarray): Ditto. * exceptions.c (print_any_exception): Ditto. * findcmd.c (_initialize_mem_search): Declare before definition. * frame.c (frame_observer_target_changed): Make it static. * gnu-v3-abi.c (gnuv3_find_method_in): Make it static. * inf-child.c: Include "inf-child.h". * inferior.h (valid_inferior_id): Rename to ... (valid_gdb_inferior_id): ... this. * infrun.c (infrun_thread_stop_requested, siginfo_make_value): Make them static. * jv-lang.c (java_language_arch_info): Make it static. * m2-typeprint.c (m2_get_discrete_bounds): Ditto. * osdata.c (info_osdata_command): Make it static. * regcache.c (regcache_observer_target_changed): Make it static. * reverse.c (_initialize_reverse): Declare before definition. * stabsread.c (cleanup_undefined_types_noname) (cleanup_undefined_types_1): Make them static. * symfile.c (place_section): Make it static. * symtab.c (find_pc_sect_psymtab_closer): Make it static. * target-descriptions.c (_initialize_target_descriptions): Declare before definition. * target.c (default_get_ada_task_ptid, find_default_can_async_p) (find_default_is_async_p, find_default_supports_non_stop): Make them static. (target_supports_non_stop): Add prototype. (dummy_pid_to_str): Make it static. * utils.c (_initialize_utils): Declare before definition. * ada-exp.y (_initialize_ada_exp): Declare before definition. * solib-svr4.c (HAS_LM_DYNAMIC_FROM_LINK_MAP): Add a prototype. * target.h (struct target_ops): Add a prototype to the to_can_execute_reverse callback. * macroscope.c (_initialize_macroscope): Declare before definition. * cp-namespace.c (_initialize_cp_namespace): Declare before definition. * python/python.c (_initialize_python): Declare before definition. * tui/tui-command.c: Include "tui/tui-command.h". * tui/tui-data.c (init_content_element, init_win_info): Make them static. * tui/tui-disasm.c: Include "tui/tui-disasm.h". * tui/tui-interp.c (_initialize_tui_interp): Declare before definition. * tui/tui-layout.c: Include "tui/tui-layout.h". (_initialize_tui_layout): Declare before definition. * tui/tui-regs.c: Include "tui/tui-regs.h". (tui_display_reg_element_at_line): Make it static. (_initialize_tui_regs): Declare before definition. * tui/tui-stack.c (_initialize_tui_stack): Declare before definition. * tui/tui-win.c: Include "tui/tui-win.h". (_initialize_tui_win): Declare before definition. (tui_sigwinch_handler): Make it static. Wrap in ifdef SIGWINCH. * tui/tui-win.h (tui_sigwinch_handler): Delete declaration. (tui_get_cmd_list): Add a prototype. * tui/tui-windata.c: Include tui-windata.h. * tui/tui-wingeneral.c (box_win): Make it static. * cli/cli-logging.c (show_logging_command): Make it static. (_initialize_cli_logging): Declare before definition. * mi/mi-common.c (_initialize_gdb_mi_common): Declare before definition. 2009-02-20 Pierre Muller Extend use of i386_use_watchpoints to all i386 native files using hardware watchpoints. * go32-nat.c (init_go32_ops): Call i386_use_watchpoints. * i386fbsd-nat.c (_initialize_i386fbsd_nat): Ditto. * windows-nat.c (init_windows_ops): Ditto. * config/i386/nm-cygwin.h: Define I386_WATCHPOINTS_IN_TARGET_VECTOR. * config/i386/nm-cygwin64.h: Ditto. * config/i386/nm-fbsd.h: Ditto. * config/i386/nm-go32.h: Ditto. 2009-02-19 Joel Brobecker * ada-typeprint.c (ada_typedef_print): Remove. Unused. 2009-02-18 Vladimir Prus * mi/mi-interp.c (mi_solib_loaded, mi_solib_unloaded): New. (mi_interpreter_init): Register the above. * solib.c (clear_solib): Notify solib unload. * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Do not disable breakpoints on a.out targets. 2009-02-17 Vladimir Prus * observer.c (observer_test_first_notification_function) (observer_test_second_notification_function) (observer_test_third_notification_function): Adjust prototype. 2009-02-17 Pedro Alves * Makefile.in (ALL_64_TARGET_OBS): Add amd64-dicos-tdep.o. (ALL_TARGET_OBS): Add dicos-tdep.o. (ALLDEPFILES): Add amd64-dicos-tdep.c and dicos-tdep.c. * configure.tgt (i[34567]86-*-dicos*): Add dicos-tdep.o to gdb_target_obs. (x86_64-*-dicos*): Add dicos-tdep.o and amd64-dicos-tdep.o to gdb_target_obs. * dicos-tdep.h, dicos-tdep.c: New. * amd64-dicos-tdep.c: New. * i386-dicos-tdep.c: Don't include solib.h, solib-target.h or inferior.h. Include dicos-tdep.h. (i386_dicos_init_abi): Call dicos_init_abi. (i386_dicos_bfd_has_symbol_p): Delete. (i386_dicos_osabi_sniffer): Use dicos_load_module_p. * NEWS: Mention x86-64 DICOS target support. 2009-02-16 Doug Evans * amd64-tdep.c (amd64_skip_prefixes): Renamed from skip_prefixes. All callers updated. (amd64_get_insn_details): Handle more 3-byte opcode insns. (amd64_breakpoint_p): Delete. (amd64_displaced_step_fixup): When fixing up after stepping an int3, don't back up pc to the start of the int3. * i386-tdep.c: #include opcode/i386.h. (i386_skip_prefixes): New function. (i386_absolute_jmp_p): Constify argument. (i386_absolute_call_p,i386_ret_p,i386_call_p,i386_syscall_p): Ditto. (i386_breakpoint_p): Delete. (i386_displaced_step_fixup): Handle unnecessary or redundant prefixes. When fixing up after stepping an int3, don't back up pc to the start of the int3. 2009-02-16 Pedro Alves * corelow.c (core_close): Don't hardcode the core's pid. (core_open): Find core threads before calling post_create_inferior. (add_to_thread_list, get_core_register_section): Take into account systems where the regset section names encode the pid of the inferior. * gdbarch.sh (core_reg_section_encodes_pid): New gdbarch setting. * gdbarch.h, gdbarch.c: Regenerate. * amd64-sol2-tdep.c (amd64_sol2_init_abi): Set it. * i386-sol2-tdep.c (i386_sol2_init_abi): Set it. * sparc-sol2-tdep.c (sparc32_sol2_init_abi): Set it. * sparc64-sol2-tdep.c (sparc64_sol2_init_abi): Set it. 2009-02-14 Vladimir Prus Include frame information for *stopped due to CLI commands. * ada-tasks.c (ada_normal_stop_observer): Adjust prototype. * infcmd.c (finish_command_continuation): Pass '1' for 'print_frame' parameter to the observer. * infrun.c (normal_stop): Don't print mi-specific information here. Pass 'stop_print_frame' to the 'print_frame' parameter of the observer. * mi/mi-interp.c (mi_on_normal_stop): Adjust prototype. If we need to print frame, and current uiout is not the MI one, print frame again. 2009-02-13 Pierre Muller * xtensa-tdep.c (call0_analyze_prologue): Delete BSZ macro. Replace BSZ macro uses by XTENSA_ISA_BSZ macro. 2009-02-12 Jan Kratochvil PR fortran/9806 * dwarf2read.c (process_die , read_module) (scan_partial_symbols , add_partial_module): New. 2009-02-11 Pierre Muller * dwarf2read.c (read_base_type): Set code to TYPE_CODE_CHAR for DW_ATE_signed_char and DW_ATE_unsigned_char for pascal language. 2009-02-11 Jim Meyering Jan Kratochvil Avoid NULL dereference. * stack.c (return_command): Guard use of SYMBOL_TYPE (thisfun). New variable func_type. 2009-02-11 Pedro Alves * gdbarch.c: Regenerate. 2009-02-10 Pierre Muller * p-lang.c (is_pascal_string_type): Fix comment. Determine exact size of char elements for GPC strings. (pascal_printstr): Handle char width of 2 or 4. * p-valprint.c (pascal_val_print): Handle char of width 2 or 4. 2009-02-07 Daniel Jacobowitz * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpc inside the loop. Only call addrmap_set_empty if the compilation unit had DW_AT_high_pc and DW_AT_low_pc. Update call to scan_partial_symbols. (scan_partial_symbols): Take NEED_PC argument and pass it along with LOWPC and HIGHPC. (add_partial_namespace): Take NEED_PC argument and pass it through. (add_partial_subprogram): Take NEED_PC argument. Update the addrmap if necessary. 2009-02-07 Pedro Alves * NEWS: Mention inspecting extra signal information, $_siginfo, and the qXfer:siginfo:read and qXfer:siginfo:write packets. 2009-02-07 Pedro Alves * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFO isn't defined. 2009-02-06 Pedro Alves * amd64-linux-nat.c (compat_int_t, compat_uptr_t, compat_time_t) (compat_timer_t, compat_clock_t, struct compat_timeval) (compat_sigval_t, compat_siginfo_t): New types. (cpt_si_pid, cpt_si_uid, cpt_si_timerid, cpt_si_overrun) (cpt_si_status, cpt_si_utime, cpt_si_stime, cpt_si_ptr) (cpt_si_addr, cpt_si_band, cpt_si_fd): New defines. (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo) (amd64_linux_siginfo_fixup): New. * linux-nat.c (linux_nat_siginfo_fixup): New. (siginfo_fixup): New. (linux_xfer_siginfo): Use siginfo_fixup to convert between the siginfo layout expected by ptrace and the siginfo layout of the inferior. (linux_nat_set_siginfo_fixup): New. * linux-nat.h (linux_nat_set_siginfo_fixup): Declare. 2009-02-06 Pedro Alves * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO. * infrun.c (siginfo_value_read, siginfo_value_write): New. (siginfo_value_funcs): New. (siginfo_make_value): New. (_initialize_infrun): Create the $_siginfo convenience variable. * gdbtypes.h (append_composite_type_field_aligned): Declare. * gdbtypes.c (append_composite_type_field): Rename to... (append_composite_type_field_aligned): ... this. Add ALIGNMENT argument. Handle it. (append_composite_type_field): Rewrite on top of append_composite_type_field_aligned. * value.h (internalvar_make_value): New typedef. (struct internalvar) : New field. (create_internalvar_type_lazy): Declare. * value.c (create_internalvar): Clear make_value. (create_internalvar_type_lazy): New. (value_of_internalvar): If make_value is set use it. (preserve_values): Skip internal variables that don't have a value. * gdbarch.sh (get_siginfo_type): New. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.h, linux-tdep.c: New. * amd64-linux-tdep.c: Include "linux-tdep.h". (amd64_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * i386-linux-tdep.c: Include "linux-tdep.h". (i386_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * arm-linux-tdep.c: Include "linux-tdep.h". (i386_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * linux-nat.c (linux_xfer_siginfo): New. (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. * remote.c (PACKET_qXfer_siginfo_read) (PACKET_qXfer_siginfo_write): New. (feature remote_protocol_features): Add "qXfer:siginfo:read" and "qXfer:siginfo:write" features. (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. (_initialize_remote): Add "set/show remote read-siginfo-object" and "set/show remote write-siginfo-object" commands. * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o. (HFILES_NO_SRCDIR): Add linux-tdep.h. (ALLDEPFILES): Add linux-tdep.c. * configure.tgt (arm*-*-linux* | arm*-*-uclinux*) (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to gdb_target_obs. 2009-02-06 Jim Blandy Daniel Jacobowitz Vladimir Prus Pedro Alves * defs.h (enum lval_type): New value: lval_computed. * value.h (struct lval_funcs): New type. (allocate_computed_value, value_computed_funcs) (value_computed_closure): New declarations. * value.c (struct value): Add a structure to the location union for computed lvalues, containing 'funcs' and 'closure' members. (allocate_computed_value, value_computed_funcs) (value_computed_closure): New functions. (value_free): For computed lvalues, call the closure's 'free_closure' function before freeing the value itself. (value_copy): If we're copying an lval_computed value, call the closure's 'copy_closure' function. (set_value_component_location): If the original value is a computed lvalue, then call the closure's 'copy_closure' function. (value_of_internalvar): If an internal variable's value is a computed lvalue, make retrieving its value produce an equivalent computed lvalue. * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling their read function. (value_assign): Assign to computed lvalues by calling their write function. 2009-02-06 Pedro Alves * linux-nat.c (linux_nat_wait): Adjust. (linux_nat_pid_to_str): Adjust. Remove call to thread_db_init. * linux-nat.h (thread_db_init): Delete declaration. * linux-thread-db.c (target_beneath): Delete. (thread_db_init): Delete. (thread_db_detach): Use find_target_beneath. (thread_db_wait): Adjust interface. Use find_target_beneath. (thread_db_mourn_inferior): Use find_target_beneath. (thread_db_can_async_p, thread_db_is_async_p, thread_db_async) (thread_db_async_mask): Delete. (thread_db_pid_to_str): Adjust interface. Use find_target_beneath. (thread_db_get_thread_local_address): Adjust interface. Use find_target_beneath. (init_thread_db_ops): Delete references to delete functions. * target.c (update_current_target): Don't inherit or default to_wait. Don't inherit to_pid_to_str and to_get_thread_local_address. (target_translate_tls_address): Look for a pushed target that implements to_get_thread_local_address, and use it instead of checking for target_get_thread_local_address_p. (target_wait, target_pid_to_str): Reimplement as functions. (dummy_pid_to_str): New. (init_dummy_target): Register it. (debug_to_wait): Delete. * target.h (struct target_ops): Make to_wait, to_pid_to_str and to_get_thread_local_address accept a pointer to struct target_ops. (target_wait): Delete macro, and declare as function. (target_pid_to_str): Likewise. (target_get_thread_local_address) (target_get_thread_local_address_p): Delete. (noprocess): Add NORETURN and ATTR_NORETURN tags. * inf-ptrace.c (inf_ptrace_wait): Adjust. (inf_ptrace_pid_to_str): New. (inf_ptrace_target): Use inf_ptrace_pid_to_str. * aix-thread.c (aix_thread_wait, aix_thread_pid_to_str): Adjust. * bsd-kvm.c (bsd_kvm_pid_to_str): Adjust. * bsd-uthread.c (bsd_uthread_wait, bsd_uthread_pid_to_str): Adjust. * corelow.c (core_pid_to_str): Adjust. * darwin-nat.c (darwin_wait, darwin_pid_to_str): Adjust. * dec-thread.c (dec_thread_wait, dec_thread_pid_to_str): Adjust. * gnu-nat.c (gnu_wait, gnu_pid_to_str): Adjust. * go32-nat.c (go32_wait, go32_pid_to_str): Adjust. * hpux-thread.c (hpux_thread_wait): Adjust. * inf-ttrace.c (inf_ttrace_wait, inf_ttrace_pid_to_str): Adjust. * monitor.c (monitor_wait, monitor_pid_to_str): Adjust. * nto-procfs.c (procfs_wait, procfs_pid_to_str): Adjust. * procfs.c (procfs_pid_to_str): Adjust. * remote-m32r-sdi.c (m32r_wait, m32r_pid_to_str): Adjust. * remote-mips.c (mips_wait): Adjust. * remote-sim.c (gdbsim_wait, gdbsim_pid_to_str): Adjust. * remote.c (remote_wait, remote_pid_to_str) (remote_get_thread_local_address): Adjust. * rs6000-nat.c (rs6000_wait): Adjust. * sol-thread.c (procfs_pid_to_str): Adjust declaration. (sol_thread_wait, solaris_pid_to_str): Adjust. * spu-linux-nat.c (spu_child_wait): Adjust. * windows-nat.c (windows_wait, windows_pid_to_str): Adjust. 2009-02-06 Tom Tromey * 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. 2009-02-06 Pedro Alves * target.c (target_get_osdata): Check for equal or higher than process_stratum, not dummy_stratum. 2009-02-06 Pedro Alves * remote.c (extended_remote_can_run): Delete. (init_remote_ops): Don't register it. * target.c (target_get_osdata): Don't check for target_can_run. Instead any target that has already been pushed, otherwise fallback to the default run target. 2009-02-06 Pedro Alves * target.c (target_create_inferior, target_detach) (target_mourn_inferior, target_attach, target_close): Do target debug output. (debug_to_attach, debug_to_detach, debug_to_create_inferior) (debug_to_mourn_inferior, debug_to_close): Delete. (setup_target_debug): Adjust. 2009-02-05 Pedro Alves * target.h (target_stopped_data_address_p): Delete declaration, and don't define as macro. * target.c (target_stopped_data_address_p): Delete. 2009-02-05 Thiago Jung Bauermann Tom Tromey * python/python-utils.c (target_string_to_unicode): New function. * python/python-internal.h (target_string_to_unicode): New prototype. * python/python-value.c (valpy_string): New function. (value_object_methods): Add `string' entry. 2009-02-05 Pedro Alves * target.h (target_tid_to_str): Delete. * thread.c (print_thread_info, thread_apply_all_command) (thread_apply_command, thread_command, do_captured_thread_select): Use target_pid_to_str instead of target_tid_to_str. * linux-fork.c (delete_fork_command): Likewise. 2009-02-05 Pedro Alves * frame.c (has_stack_frames): Make public. (get_prev_frame): Don't allow a NULL this_frame anymore. * frame.h (has_stack_frames): Declare. * varobj.c (find_frame_addr_in_frame_chain): Don't ever pass NULL to get_prev_frame, instead start at get_current_frame. (varobj_create): Check has_stack_frames before getting any frame; eliminate one usage of deprecated_safe_get_selected_frame. 2009-02-05 Tom Tromey Thiago Jung Bauermann * python/python.c (GdbMethods): Move to bottom of file. (get_parameter, execute_gdb_command, gdbpy_write, gdbpy_flush): Remove forward declarations. (eval_python_from_control_command): Fix error checking of function PyRun_SimpleString. Fix error string. (python_command): Likewise. (execute_gdb_command): Added from_tty argument. 2009-02-05 Thiago Jung Bauermann * language.h (language_dfn): Add la_get_string member. (LA_GET_STRING): New macro. (default_get_string): New prototype. * language.c (default_get_string): New function. (unknown_language_defn, auto_language_defn, local_language_defn): Use default_get_string for la_get_string. * c-lang.c (c_get_string): New function. (c_language_defn, cplus_language_defn, asm_language_defn): Use c_get_string for la_get_string. (minimal_language_defn): Likewise * ada-lang.c (ada_language_defn): Likewise. * f-lang.c (f_language_defn): Use default_get_string for la_get_string. * jv-lang.c (java_language_defn): Likewise. * m2-lang.c (m2_language_defn): Likewise. * objc-lang.c (objc_language_defn): Likewise. * p-lang.c (p_language_defn): Likewise. * scm-lang.c (scm_language_defn): Likewise. * typeprint.c (type_to_string): New function. * value.h (type_to_string): New prototype. * valprint.c (val_print_string): Factor out code for reading string from the inferior into its own function. Put 2 spaces after period in comments. (read_string): New function. * valprint.h (read_string): New prototype. 2009-01-07 Pierre Muller Tom Tromey PR breakpoints/8079: * breakpoint.c (print_one_breakpoint): Use exp_string field to display expression of watchpoints. (mention): Likewise. (watch_command_1): Remove trailing whitespace from expression. * printcmd.c (struct display) : New field. (display_command): Set exp_string. (free_display): Free exp_string. (clear_displays): Use free_display. (do_one_display): Print exp_string. (display_info): Likewise. 2009-02-04 Tom Tromey Thiago Jung Bauermann Phil Muldoon * python/python-internal.h (gdbpy_get_value_from_history): Rename prototype to gdbpy_history. (gdbpy_is_string): Declare. (python_string_to_host_string): Declare. * python/python-utils.c (gdbpy_is_string): New function. (unicode_to_encoded_string): New function. (unicode_to_target_string): Use it. (python_string_to_host_string): New function. * python/python-value.c (valpy_address): New function. (convert_value_from_python): Use gdbpy_is_string. Change to throw Python exception instead of a GDB exception on error. Properly check Python booleans. (valpy_getitem): Convert field name to host string. Handle array accesses. Adapt to new behaviour of convert_value_from_python. (valpy_new): Adapt to new behaviour of convert_value_from_python. (enum valpy_opcode) : New constants. (valpy_binop): Update. Adapt to new behaviour of convert_value_from_python. (valpy_invert): New function. (valpy_lsh): Likewise. (valpy_rsh): Likewise. (valpy_and): Likewise. (valpy_or): Likewise. (valpy_xor): Likewise. (valpy_richcompare): Call convert_value_from_python instead of doing conversions itself. (is_intlike, valpy_int, valpy_long, valpy_float): New functions. (gdbpy_get_value_from_history): Rename function to gdbpy_history. (gdbpy_initialize_values): Don't set tp_new. (value_object_type): Add valpy_new. (value_object_methods): Add `address' entry. (value_object_as_number): Update for new methods. * python/python.c (GdbMethods): Rename entry from `get_value_from_history' to `history'. 2009-02-04 Jerome Guitton * ada-lang.c (ada_template_to_fixed_record_type_1): Check size of type to guard against a crash. 2009-02-04 Jerome Guitton * value.c (value_from_contents_and_address): Always return a lval_memory value, even if address is null. 2009-02-04 Tristan Gingold * i386-darwin-tdep.c (i386_darwin_sigcontext_addr): New function. (amd64_darwin_sigcontext_addr): Ditto. (darwin_dwarf_signal_frame_p): Ditto. (i386_darwin_init_abi): Handle signal frames, use the const for sc_num_regs. (x86_darwin_init_abi_64): Ditto. 2009-02-04 Tristan Gingold * i386-tdep.c (i386_sigtramp_p): Make it public. * i386-tdep.h (i386_sigtramp_p): Declare. 2009-02-04 Tristan Gingold * machoread.c (macho_symfile_read): Read minsymtab also from shared libraries. (macho_symfile_read): Try to read dwarf2 frame info from main object file, but not from OSO files. (macho_symfile_offsets): Update section names for latest BFD changes. * i386-darwin-tdep.c (i386_darwin_init_abi): Call set_solib_ops. (x86_darwin_init_abi_64): Ditto. * solib-darwin.c: New file. * solib-darwin.h: New file. * configure.tgt: Add solib.o solib-darwin.o for Darwin. 2009-02-04 Tristan Gingold * solist.h (struct target_so_ops): Comment fallback behavior for operation same. 2009-02-03 Tom Tromey * completer.c (add_struct_fields): Check type_name against NULL before use. 2009-02-03 Joel Brobecker * MAINTAINERS: Update Elena's email address. 2009-02-02 Joel Brobecker * breakpoint (update_watchpoint): Minor comment adjustment. 2009-02-02 Tom Tromey PR gdb/9594: * completer.c (count_struct_fields): Count method names. (add_struct_fields): Add matching method names. 2009-02-02 Doug Evans * configure.ac (gdbkt): Check both no_tcl/no_tk first, before doing any further tcl/tk configury. Don't configure gdbtk if tcl or tk check fails. * aclocal.m4: Regenerate. * configure: Regenerate. 2009-02-02 Tom Tromey PR exp/9059: * valops.c (find_overload_match): Follow typedefs before taking address of object argument. 2009-02-01 Doug Evans * target.h (target_waitstatus_to_string): Declare. * target.c (target_waitstatus_to_string): New function. Copied from debug_to_wait. Add missing entries for TARGET_WAITKIND_SYSCALL_ENTRY, TARGET_WAITKIND_SYSCALL_RETURN, TARGET_WAITKIND_IGNORE, TARGET_WAITKIND_NO_HISTORY. (debug_to_wait): Call it. * infrun.c (wait_for_inferior): If debug_infrun, print result of target_wait. (fetch_inferior_event): Ditto. 2009-01-30 Tom Tromey * Makefile.in (HFILES_NO_SRCDIR): Remove i386-cygwin-tdep.h. 2009-01-30 Vladimir Prus PR 8145. * thread.c (do_captured_list_thread_ids): Report the current thread id. 2009-01-30 Vladimir Prus * breakpoint.c (create_breakpoint, create_breakpoints) (break_command_really, set_breakpoint): New parameter enabled. (create_breakpoint, break_command_really): Make breakpoint disabled if so requested. * breakpoint.h (set_breakpoint): New parameter enabled. * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle the -d option. 2009-01-28 Doug Evans * amd64-tdep.h (amd64_displaced_step_copy_insn): Declare. (amd64_displaced_step_fixup): Declare. * amd64-tdep.c: #include opcode/i386.h, dis-asm.h. (amd64_arch_regmap): Move out of amd64_analyze_stack_align and make static global. (amd64_arch_regmap_len): New static global. (amd64_arch_reg_to_regnum): New function. (struct amd64_insn): New struct. (struct displaced_step_closure): New struct. (onebyte_has_modrm,twobyte_has_modrm): New static globals. (rex_prefix_p,skip_prefixes) (amd64_insn_length_fprintf,amd64_insn_length_init_dis) (amd64_insn_length,amd64_get_unused_input_int_reg) (amd64_get_insn_details,fixup_riprel,fixup_displaced_copy) (amd64_displaced_step_copy_insn) (amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p) (amd64_call_p,amd64_breakpoint_p,amd64_syscall_p) (amd64_displaced_step_fixup): New functions. * amd64-linux-tdep.c: #include arch-utils.h. (amd64_linux_init_abi): Install displaced stepping support. 2009-01-28 Daniel Jacobowitz Jerome Guitton * configure, config.in: Regenerated. * configure.ac: Add --with-system-gdbinit. * main.c (get_init_files): New. (captured_main): Use get_init_files. Load system gdbinit before $HOME/.gdbinit. (print_gdb_help): Print location of init files. 2009-01-28 Pedro Alves * corefile.c (generic_search): Delete disabled code. * gdbcore.h (generic_search): Delete declaration. 2009-01-26 Pedro Alves * linux-nat.c (linux_child_follow_fork): Copy attach_flag from the parent to the child. * inf-ttrace.c (inf_ttrace_follow_fork): Likewise. * inf-ptrace.c (inf_ptrace_follow_fork): Likewise. Use remove_breakpoints to remove breakpoints from the parent. 2009-01-26 Pedro Alves PR backtrace/9458, PR backtrace/8864: * frame.c (create_new_frame): Update the frame's cached PC before finding its unwinder. Use frame_id_build to build the new frame's id. * stack.c (parse_frame_specification_1): Correct setting ``addrs'' array values from the ``args'' array values. 2009-01-26 Pedro Alves * gdbtypes.c (alloc_type, alloc_type_instance, create_range_type) (create_array_type, create_set_type, init_flags_type) (copy_type_recursive): Replace pairs of calls to XALLOC and memset with a call to XZALLOC or XCALLOC, and pairs of calls to obstack_alloc and memset with a call to OBSTACK_ZALLOC. 2009-01-26 Pedro Alves Add "maint set|show internal-error|internal-warning quit|corefile ask|yes|no" commands. PR gdb/7580: * utils.c (internal_problem_ask, internal_problem_yes) (internal_problem_no, internal_problem_modes): New. (struct internal_problem): Remove FIXME. Make should_quit and should_dump_core types to char *. (internal_vproblem, internal_error_problem) (internal_warning_problem): Adjust. (set_internal_problem_cmd, show_internal_problem_cmd): New dummy functions. (add_internal_problem_command): New. (_initialize_utils): New. 2009-01-25 Pedro Alves * infcmd.c (program_info): Use paddress instead of casting stop_pc to unsigned long. 2009-01-24 Pedro Alves * infrun.c (normal_stop): Don't call deprecated_update_frame_pc_hack. * frame.c (deprecated_update_frame_pc_hack) (deprecated_update_frame_base_hack): Delete, and ... (create_new_frame): ... inline here. * frame.h (deprecated_update_frame_pc_hack) (deprecated_update_frame_base_hack): Delete declarations. 2009-01-23 Pedro Alves * cli/cli-decode.c (add_setshow_zuinteger_cmd): New. * cli/cli-setshow.c (do_setshow_command): Handle it. * command.h (enum var_types): Add var_zuinteger. (add_setshow_zuinteger_cmd): Declare. * valprint.c (_initialize_valprint): Change the set input-radix and set output-radix commands to zuinteger type. 2009-01-23 Pedro Alves PR gdb/9664: * infrun.c (normal_stop): Tag threads as stopped, and run the hook-stop before printing the stack frame. 2009-01-22 Pedro Alves PR c++/9631: * gnu-v3-abi.c (gnuv3_baseclass_offset): Call check_typedef on vbasetype. 2009-01-20 Kazu Hirata * gdb/procfs.c (info_mappings_callback): Cast map->pr_size to unsigned long. 2009-01-20 Daniel Jacobowitz PR gdb/9346 * infcmd.c (signal_command): Do not specify a resume PC. 2009-01-19 Doug Evans * dummy-frame.c (dummy_frame): Replace regcache member with caller_state. (dummy_frame_push): Replace caller_regcache arg with caller_state. All callers updated. (remove_dummy_frame,pop_dummy_frame,lookup_dummy_frame): New fns. (dummy_frame_pop): Rewrite. Verify requested frame is in the dummy frame stack. Restore program state. (cleanup_dummy_frames): Rewrite. (dummy_frame_sniffer): Update. Make static. * dummy-frame.h (regcache,frame_info): Delete forward decls. (inferior_thread_state): New forward decl. (dummy_frame_push): Update prototype. * frame.c (frame_pop): dummy_frame_pop now does all the work for DUMMY_FRAMEs. * infcall.c (breakpoint_auto_delete_contents): Delete. (get_function_name,run_inferior_call): New fns. (call_function_by_hand): Simplify by moving some code to get_function_name, run_inferior_call. Inferior function call wrapped in TRY_CATCH so there's less need for cleanups and all exits from proceed are handled similarily. Detect program exit. Detect program stopping in a different thread. Make error messages more consistent. * inferior.h (inferior_thread_state): Declare (opaque type). (save_inferior_thread_state,restore_inferior_thread_state, make_cleanup_restore_inferior_thread_state, discard_inferior_thread_state, get_inferior_thread_state_regcache): Declare. (save_inferior_status): Update prototype. * infrun.c: (normal_stop): When stopped for the completion of an inferior function call, verify the expected stack frame kind. (inferior_thread_state): New struct. (save_inferior_thread_state,restore_inferior_thread_state, do_restore_inferior_thread_state_cleanup, make_cleanup_restore_inferior_thread_state, discard_inferior_thread_state, get_inferior_thread_state_regcache): New functions. (inferior_status): Move stop_signal, stop_pc, registers to inferior_thread_state. Remove restore_stack_info. (save_inferior_status): Remove arg restore_stack_info. All callers updated. Remove saving of state now saved by save_inferior_thread_state. (restore_inferior_status): Remove restoration of state now done by restore_inferior_thread_state. (discard_inferior_status): Remove freeing of registers, now done by discard_inferior_thread_state. 2009-01-18 Pedro Alves * tui/tui-disasm.c (tui_vertical_disassem_scroll): Scroll one line at a time, times NUM_TO_SCROLL. * tui/tui-winsource.c (tui_horizontal_source_scroll): Don't try to fetch the selected frame if there is no stack. 2009-01-18 Pedro Alves PR gdb/9747: * gdbthread.h (finish_thread_state, finish_thread_state_cleanup): Declare. * thread.c (finish_thread_state, finish_thread_state_cleanup): New. * infrun.c (wait_for_inferior, fetch_inferior_event): If an error is thrown while handling an event, finish the thread state. (normal_stop): Use finish_thread_state cleanup. * infcmd.c (run_command_1): If an error is thrown while starting the inferior, finish the thread state. 2009-01-18 Pedro Alves * tui/tui-winsource.c (tui_update_breakpoint_info): In asm layout, skip breakpoints without a location (pending breakpoints). 2009-01-18 Pedro Alves PR build/9186: * hppa-hpux-tdep.c (hppa_hpux_write_pc): Remove 'return'. 2009-01-18 Nick Roberts * thread.c (thread_command): Move call to annotate_thread_changed to... (do_captured_thread_select): ... here, to avoid printing an annotation if the thread change generates an exception. 2009-01-16 Joel Brobecker * NEWS: Document x86_64/MinGW as a new native configuration. 2009-01-16 Joel Brobecker * NEWS: Move the documentation of "info os processes" to the appropriate section (documenting the new commands). 2009-01-15 Doug Evans * target.h (target_signal_to_string): Make return type const char *. (target_signal_to_name): Ditto. (target_signal_from_name): Make arg const char *. * infrun.c (sig_print_info): Update. * signals/signals.c (signals): Make array and struct members const. (target_signal_to_string): Make return type const char *. (target_signal_to_name): Ditto. (target_signal_from_name): Make arg const char *. 2009-01-15 Ulrich Weigand Tristan Gingold * solist.h (struct target_so_ops): New member bfd_open. (solib_find): Add prototype. (solib_bfd_fopen): Add prototype. * solib.c (solib_find, solib_bfd_fopen): New functions, extracted from solib_bfd_open. (solib_bfd_open): Use ops->bfd_open override if present. Call solib_find and solib_bfd_open otherwise. * objfiles.h (OBJF_KEEPBFD): New define. * objfiles.c (free_objfile): Do not close BFD if OBJF_KEEPBFD objfile flag is set. * solib.c (symbol_add_stub): Do not allocate second BFD for shared library; use OBJF_KEEPBFD flag on solib objfile. 2009-01-15 Ulrich Weigand * frame.c (get_frame_arch): Abort if called with NULL this_frame. 2009-01-15 Ulrich Weigand * value.h (address_of_variable): Add prototype. (locate_var_value): Remove prototype. * findvar.c (read_var_value): Do not attempt to default frame to selected frame. (locate_var_value): Remove function. * valops.c (value_of_variable): Retrieve selected frame for symbols that require a frame when called with NULL block. * valops.c (address_of_variable): New function. * eval.c (evaluate_subexp_for_address): Call address_of_variable instead of calling locate_var_value. (evaluate_subexp_with_coercion): Likewise. 2009-01-14 Daniel Jacobowitz * NEWS: Document "define" for prefixed commands. * cli/cli-cmds.c (show_user): Update calls to show_user_1. Call show_user_1 for prefix commands. * cli/cli-decode.c (help_cmd_list): Recurse for "help user-defined". * cli/cli-script.c (validate_comname): Rewrite to handle prefix commands. Return the containing command list. (define_command, document_command): Update to handle prefix commands. (show_user_1): Add prefix and name arguments. Handle prefix commands. * cli/cli-script.h (show_user_1): Update prototype. 2009-01-14 Kai Tietz * ser-mingw.c (console_select_thread): Add return to make compiler happy. (pipe_select_thread): Likewise. (file_select_thread): Likewise. 2009-01-14 Pedro Alves * mi/mi-main.c (mi_cmd_execute): Clean up parenthesis mess from previous change. 2009-01-14 Pedro Alves * remote.c (extended_remote_mourn_1): Invalidate our notion of current general thread. 2009-01-14 Pedro Alves * mi/mi-main.c (mi_cmd_execute): Also allow -list-thread-groups without a live selected thread. 2009-01-14 Joel Brobecker Update the copyright notice of some of the files I missed in the previous copyright update. 2009-01-14 Joel Brobecker * windows-nat.c (handle_unload_dll): Use %p to print the DLL base address instead of casting it to DWORD. 2009-01-13 Ulrich Weigand * dwarf2loc.c (dwarf2_evaluate_loc_desc): Do not call get_frame_arch for NULL frame pointers. 2009-01-13 Mark Kettenis * utils.c (host_address_to_string): Reimplement in a way that avoids the cast of the address to long. 2009-01-13 Joel Brobecker * mdebugread.c (parse_symbol): Save the symbol private data using SYMBOL_VALUE_BYTES instead of SYMBOL_VALUE. (psymtab_to_symtab_1): Likewise. (parse_procedure): Declare variable "e" only in the scope where it is used. Extract the symbol private data using SYMBOL_VALUE_BYTES. 2009-01-13 Jim Blandy Abstract out common code for copying value locations. * value.h (set_value_component_location): New declaration. * value.c (set_value_component_location): New function. (value_primitive_field): Use it. * valarith.c (value_subscript, value_subscripted_rvalue): Same. * valops.c (search_struct_field, value_slice): Same. * ada-lang.c (coerce_unspec_val_to_type) (ada_value_primitive_packed_val): Same. 2009-01-13 Joel Brobecker * MAINTAINERS (GLOBAL MAINTAINERS): Add Tom Tromey. 2009-01-12 Christopher Faylor * amd64-windows-nat.c Rename gdb-specific win32_* to windows_* throughout. * i386-cygwin-tdep.c: Ditto. * i386-windows-nat.c: Ditto. * windows-nat.h: Ditto. * windows-tdep.c: Ditto. * windows-tdep.h: Ditto. * windows-nat.c: Ditto. (cygwin_load_start): Redefine as CORE_ADDR. (cygwin_load_end): Ditto. (windows_make_so): Coerce result of address arithmetic to uintptr_t before coercing to CORE_ADDR to avoid a compiler warning. (handle_exception): Define addr as CORE_ADDR and coerce ExceptionAddress to uintptr_t before assigining to avoid a compiler warning. * config/djgpp/fnchange.lst: Add mappings for recently renamed windows files. 2009-01-11 Jan Kratochvil Fix linking with --enable-targets=all: * Makefile.in (ALL_TARGET_OBS): Add windows-tdep.o. (HFILES_NO_SRCDIR): Add windows-tdep.h. (ALLDEPFILES): Add windows-tdep.c. 2009-01-11 Chris Faylor * win32-nat.h: Delete. * windows-nat.h: Rename from win32-nat.h. * win32-nat.c: Delete. * windows-nat.c: Rename from win32-nat.c. * win32-termcap.c: Delete. * windows-termcap.c: Rename from win32-termcap.c. * amd64-windows-nat.c: Handle rename from win32-nat.h -> windows-nat.h. * configure.ac: Handle rename from win32-termcap.c -> windows-termcap.c. * configure: Regenerate. * gdb_curses.h: Change comment to reflect rename from win32-termcap.c -> windows-termcap.c. * i386-cygwin-tdep.c: Handle rename from win32-tdep.h -> windows-tdep.h. * i386-windows-nat.c: Refect rename from win32-nat.h -> windows-nat.h. * windows-nat.c: Ditto. Also reflect rename from from win32-tdep.h -> windows-tdep.h. (win32_make_so): Handle cygwin compiler warning due to change of load_addr from DWORD to LPVOID. (handle_load_dll): Use %p in format string to properly print address and avoid a compiler warning. (DEBUG_EXCEPTION_SIMPLE): Ditto. (handle_exception): Ditto. * windows-tdep.c: Handle rename from win32-tdep.h -> windows-tdep.h. * config/i386/cygwin.mh: Handle rename from win32-nat.o -> windows-nat.o. * config/i386/mingw.mh: Ditto. * config/i386/mingw64.mh: Ditto. 2009-01-11 Jan Kratochvil * f-typeprint.c (f_type_print_varspec_suffix): Convert the autovariable arrayprint_recurse_level to a parameter. Update all the callers. New comment at autovariables. 2009-01-11 Jan Kratochvil * gdbtypes.c (make_qualified_type, replace_type): Reformat to the GNU coding style. 2009-01-11 Joel Brobecker * target.c (target_xfer_partial): Use host_address_to_string to print the address of readbuf and writebuf. Cast the address of elements inside the myaddr buffer into intptr_t. (deprecated_debug_xfer_memory): Use paddress to print memaddr. Cast the address of elements inside the myaddr buffer into intptr_t. 2009-01-11 Joel Brobecker * amd64-windows-nat.c, amd64-windows-tdep.c: New files. * config/i386/mingw64.mh, config/i386/nm-cygwin64.h: New files. * configure.host, configure.tgt: Add handling for x86_64/windows. * config/djgpp/fnchange.lst: Add entries for amd64-windows-nat.c and amd64-windows-tdep.c. 2009-01-11 Joel Brobecker * win32-tdep.h, win32-tdep.c: New files. * i386-cygwin-tdep.h: Delete. * i386-cygwin-tdep.c: Include win32-tdep.h instead of i386-cygwin-tdep.h. (win32_xfer_shared_library): Delete. Moved to win32-tdep.c. * win32-nat.c: Likewise. * configure.tgt: Add win32-tdep.o to the list of target object files for i386-cygwin and i386-mingw targets. 2009-01-11 Joel Brobecker * win32-nat.h: New file. * win32-nat.c (mappings): Initialize to NULL. (win32_set_context_register_offsets): New function. * i386-windows-nat.c: New file. (mappings): Moved here from win32-nat.c. (_initialize_i386_windows_nat): New function. * config/i386/mingw.mh (NATDEPFILES): Add i386-windows-nat.o. * config/i386/cygwin.mh (NATDEPFILES): Likewise. 2009-01-09 Andreas Schwab * Makefile.in (init.c): Set LANG/LC_ALL to C, not c. 2009-01-09 Daniel Jacobowitz * gdbtypes.c (append_composite_type_field): Correct the location of appended fields. 2009-01-09 Pedro Alves * defs.h (deprecated_error_hook): Delete declaration. * interps.c (clear_interpreter_hooks): Adjust. * remote-sim.c (gdb_os_error): Don't try to call deprecated_error_hook. No need to call exit anymore. * top.c (deprecated_error_hook): Delete. 2009-01-09 Joel Brobecker * arch-utils.c (gdbarch_update_p): Use host_address_to_string to print the address of the gdbarch pointer. 2009-01-09 Joel Brobecker * gdbarch.sh: Fix all the compilation errors on amd64-windows due to casting a pointer to a long when printing a function address. Instead, use host_address_to_string to convert our address to a string. * gdbarch.c: Regenerate. 2009-01-09 Joel Brobecker * event-top.c (async_disconnect, async_stop_sig): use "raise" instead of "kill" to raise a signal. 2009-01-09 Joel Brobecker * win32-nat.c (get_module_name): Change the type of parameter "base_address" to LPVOID. Remove unnecessary cast. (struct lm_info): Change type of load_addr to LPVOID. (win32_make_so): Change the type of parameter "load_addr" to LPVOID. Remove some unnecessary casts. (handle_unload_dll): Change the type of "lpBaseOfDll" to LPVOID. (win32_xfer_shared_libraries): Add missing cast. 2009-01-09 Joel Brobecker * win32-nat.c (has_detach_ability, set_process_privilege): Cast the result of GetProcAddress to (void *) to avoid a compilation warning. 2009-01-09 Joel Brobecker * win32-nat.c (CONTEXT_EXTENDED_REGISTERS): Define to 0 if not already defined. 2009-01-09 Joel Brobecker * win32-nat.c (get_image_name, win32_xfer_memory): Fix type definition of local variable "done". (info_w32_command, handle_exception): Remove unnecessary cast. 2009-01-09 Joel Brobecker * win32-nat.c (kernel32_DebugSetProcessKillOnExit): Renames DebugSetProcessKillOnExit. Update all uses in this file. (kernel32_DebugActiveProcessStop): Renames DebugActiveProcessStop. Update all uses in this file. 2009-01-09 Joel Brobecker * win32-nat.c (do_initial_win32_stuff): Add new ops parameter, and use it when pushing the target. (win32_attach, win32_create_inferior): Update call to do_initial_win32_stuff. (win32_detach, win32_mourn_inferior): Use our ops parameter instead of the global win32_ops to unpush the target. 2009-01-09 Joel Brobecker * ser-mingw.c (ser_windows_open): Use proper type when casting in call to _open_osfhandle. 2009-01-09 Kai Tietz * coff-pe-read.c (read_pe_exported_syms): Fix typo. 2009-01-09 Joel Brobecker * CONTRIBUTE: Minor reformatting. 2009-01-08 Kai Tietz * MAINTAINERS: Add myself to Write After Approval. * coff-pe-read.c (read_pe_exported_syms): Enable read of PE+ export directory. 2009-01-08 Nathan Froyd * remote-sim.c (gdb_os_error): Mark as a noreturn function. Call exit to make it obvious to GCC. 2009-01-08 Tom Tromey PR breakpoints/9350: * varobj.c (varobj_invalidate): Unconditionally free all_rootvarobj. * symfile.c (syms_from_objfile): Free local_addr when returning normally. * exec.c (exec_file_attach): Do cleanups before returning. (exec_file_command): Likewise. * corefile.c (reopen_exec_file): Do cleanups before returning. * breakpoint.c (insert_breakpoint_locations): Do cleanups before returning. (do_vec_free): New function. (update_global_location_list): Make a cleanup for old_locations. Do cleanups before returning. Remove unused variable 'e'. (find_condition_and_thread): Free result of parsing the expression. (print_it_typical): Do cleanups before returning. (breakpoint_re_set_one): Always free sals.sals. 2009-01-08 Joel Brobecker Emi Suzuki * breakpoint.c (do_enable_breakpoint): Use update_watchpoint for watchpoints. 2009-01-07 Doug Evans * top.c (gdb_prompt_string): Delete, unused. 2009-01-07 Pedro Alves Delete ONE_PROCESS_WRITETEXT leftovers. * breakpoint.c (insert_bp_location): Delete process_warning argument. Adjust. (insert_breakpoint_locations): Adjust. (reattach_breakpoints): Adjust. * infrun.c (normal_stop): Drop "It might be running in another process" notice. 2009-01-07 Stan Shebs * config/pa/linux.mh (XDEPFILES): Remove. 2009-01-07 Doug Evans * cli/cli-cmds.c (set_debug): Fix cut-n-paste error. 2009-01-07 Jan Kratochvil * f-typeprint.c (f_type_print_base ): Fix output spacing, a regression from 2008-04-22. 2009-01-07 Joel Brobecker * utils.c (gdb_print_host_address): Adjust implementation to reuse host_address_to_string. Move comment explaining the conversion from host address to string from here... (host_address_to_string): ... to there. 2009-01-07 Emi Suzuki * MAINTAINERS: Add myself for write after approval privileges. 2009-01-06 Tom Tromey * value.c (set_internalvar): Use value_free, not xfree. 2009-01-06 Jim Blandy Check return values of functions declared with warn_unused_result attribute in GLIBC 2.8. * cli/cli-cmds.c (pwd_command): Check return value from getcwd. * inflow.c (check_syscall): New function. (new_tty): Use check_syscall to check return values from open and dup. * linux-nat.c (linux_nat_info_proc_cmd): Check return value from fgets. * main.c (captured_main): Call cwd after setting up gdb_stderr; check for errors from getcwd. * mi/mi-cmd-env.c (mi_cmd_env_pwd): Check return value from getcwd. * ui-file.c (stdio_file_write): Ignore return value from fwrite. (stdio_file_fputs): Same. * utils.c (internal_vproblem): abort if last-ditch error message write fails. * top.c (gdb_init): Don't set the current directory here; that's already been done in captured_main. 2009-01-06 Sandra Loosemore * ser-tcp.c: Adjust includes. (tcp_set_cmdlist, tcp_show_cmdlist): Declare. (tcp_auto_retry, tcp_retry_limit): Declare. (TIMEOUT): Remove, in favor of tcp_retry_limit. (POLL_INTERVAL): Increase to 5, in favor of backoff logic. (wait_for_connect): New function. (net_open): Use it. Add auto-retry logic. (set_tcp_cmd, show_tcp_cmd): New functions. (_initialize_ser_tcp): Initialize new "set/show tcp auto-retry" and "set/show tcp connect-timeout" commands. * NEWS: Document new commands. 2009-01-05 Tom Tromey * python/python-internal.h (Py_ssize_t): Define as int. 2009-01-05 Jim Blandy * MAINTAINERS: Fix my e-mail address as steering committee member. 2009-01-03 Joel Brobecker Updated copyright notices for most files. 2009-01-03 Joel Brobecker * top.c (print_gdb_version): Update copyright year. 2009-01-03 Joel Brobecker * config/djgpp/fnchange.lst: Add entry for ChangeLog-2008. 2009-01-01 Pedro Alves PR breakpoints/9681: * exceptions.h (enum errors): New error type, MEMORY_ERROR. * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR. * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but retrow all other exceptions. For older changes see ChangeLog-2008. Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never coding: utf-8 End: