2008-08-07 Tom Tromey Ralf Wildenhues * aclocal.m4, configure: Rebuild. * configure.in: Call ZW_CREATE_DEPDIR, ZW_PROG_COMPILER_DEPENDENCIES, AC_PROG_MAKE_SET. (MAKE, GMAKE): New substs. * acinclude.m4: Include depstand.m4. * Makefile.in (DEPMODE, DEPDIR, COMPILE.post, COMPILE.pre, COMPILE, POSTCOMPILE, depcomp): New variables. Remove all _h variables. Remove many .o targets. ($(srcdir)/copying.c): avoid backslash-newline after comment sign (@maintainer_mode_true@). (HFILES_NO_SRCDIR): Regenerate. (generated_files): New variable. (all_gdbtk_cflags): Likewise. (.c.o): Rewrote. (init.o, version.o, copying.o): Remove. (distclean): Remove DEPDIR. (test-cp-name-parser.o, hpux-thread.o, main.o, monitor.o, printcmd.o, procfs.o, v850ice.o): Rewrite. (cli-cmds.o, cli-decode.o, cli-dump.o, cli-interp.o, cli-logging.o, cli-script.o, cli-setshow.o, cli-utils.o): Likewise. (gdbtk.o, gdbtk-bp.o, gdbtk-cmds.o, gdbtk-hooks.o, gdbtk-interp.o, gdbtk-main.o, gdbtk-register.o, gdbtk-stack.o, gdbtk-varobj.o, gdbtk-wrapper.o): Likewise. (mi-cmd-break.o, mi-cmd-disas.o, mi-cmd-env.o, mi-cmd-file.o, mi-cmds.o, mi-cmd-stack.o, mi-cmd-target.o, mi-cmd-var.o, mi-console.o, mi-getopt.o, mi-interp.o, mi-main.o, mi-out.o, mi-parse.o, mi-symbol-cmds.o, mi-common.o, signals.o, tui.o, tui-command.o, tui-data.o, tui-disasm.o, tui-file.o, tui-hooks.o, tui-interp.o, tui-io.o, tui-layout.o, tui-main.o, tui-out.o, tui-regs.o, tui-source.o, tui-stack.o, tui-win.o, tui-windata.o, tui-wingeneral.o, tui-winsource.o): Likewise. (all_object_files): New variable. ($(all_object_files)): New target. Include dependency files, when using GNU Make. 2008-08-07 Ulrich Weigand * spu-tdep.c (info_spu_dma_cmdlist): Only show entries with the valid bit set. Ensure display order respects partial order defined by dependency bits. 2008-08-06 John David Anglin * solib-pa64.c (read_dld_descriptor): Return zero if load map is not setup. 2008-08-06 Mark Kettenis * i386obsd-nat.c (i386obsd_supply_pcb): Adjust for changes in OpenBSD 4.3. 2008-08-06 Vladimir Prus Tom Tromey Thiago Jung Bauermann Doug Evans * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS, PYTHON_CFLAGS): New. (python_h, python_internal_h): New. (cli-script.o): Depend on python.h (python.o, python-utils.o): New. * cli/cli-script.c (print_command_lines): Handle python_control. (execute_control_command): Handle python_control. (execute_control_command_untraced): New function. (while_command): Call execute_control_command_untraced. (if_command): Likewise. (get_command_line): Remove static attribute. (read_next_line): Handle "python". (recurse_read_control_structure): Handle python_control. (read_command_lines): Handle python_control. Include python.h. * cli/cli-script.h (get_command_line): Add prototype. (execute_control_command_untraced): Likewise. * configure.ac: Add --with-python. * defs.h (enum command_control_type) : New constant. * python/python-internal.h: New file. * python/python.c: New file. * python/python.h: New file. * python/python-utils.c: New file. * NEWS: Mention Python scripting support and its new commands. 2008-08-06 Ulrich Weigand * spu-tdep.c (spu_gdbarch_init): Call set_gdbarch_frame_red_zone_size. 2008-08-06 Phil Muldoon * MAINTAINERS (Write After Approval): Add self. 2008-08-06 Phil Muldoon * breakpoint.c (hw_breakpoint_used_count): Use breakpoint_enabled. (insert_breakpoint_locations): Likewise. 2008-08-05 Phil Muldoon * breakpoint.c (create_longjmp_breakpoint): Remove unused struct breakpoint. (set_longjmp_breakpoint): Likewise. 2008-08-04 John David Anglin PR build/2490 * solib-pa64.c: Only compile if both HAVE_ELF_HP_H and __LP64__ are defined. 2008-08-05 Tom Tromey * bcache.c (deprecated_bcache_added): Initialize obstack. (bcache_xmalloc): Don't initialize obstack. (bcache_xfree): Conditionally free obstack. (bcache_memory_used): Update. 2008-08-05 Tom Tromey * symfile.c (add_psymbol_to_bcache): Return a const pointer. Use bcache_full. (append_psymbol_to_list): Accept a const pointer. (add_psymbol_to_list): Fix const correctness. * bcache.h: (deprecated_bcache_added, deprecated_bcache): Remove. (bcache_full): Declare. * bcache.c (bcache_data, deprecated_bcache): Remove. (bcache): Use bcache_full. (bcache_full): Rename from deprecated_bcache_added. Change return type. 2008-08-04 Stan Shebs * solib-svr4.c (BKPT_AT_SYMBOL): Remove, always defined. (bkpt_names): Remove SOLIB_BKPT_NAME, never defined. (enable_break): Remove test of BKPT_AT_SYMBOL. 2008-08-02 Keith Seitz * acinclude.m4: Include ../config/tcl.m4 to pick up standard Tcl configury bits. Remove all Tcl, Tk, Itcl, Itk, etc definitions. * configure.ac: Don't check if ../itcl exists when building gdbtk. It could be installed. Rewrite gdbtk configury to allow for using system-supplied Tcl and Tk. Gdbtk no longer requires build-time access to itcl and itk. * Makefile.in: Remove everything related to itcl and itk. Rewrite the Tcl bits for gdbtk to correspond to rewrite of configure.ac. Remove v850ice.o build rule. (ALL_TCL_CFLAGS): New convenience defintion. Change all gdbtk sources to use it. * configure: Regenerate. 2008-07-31 Stan Shebs * coffread.c (coff_symtab_read): Remove FUNCTION_EPILOGUE_SIZE. 2008-07-30 Stan Shebs * objfiles.c (TARGET_KEEP_SECTION): Remove. (add_to_objfile_sections): Remove use. 2008-07-29 Tom Tromey * cli/cli-decode.c (lookup_cmd_1): Use memcpy. (lookup_cmd_composition): Likewise. 2008-07-29 Tom Tromey * cli/cli-cmds.c (edit_command): Remove unused variables. Delete dead code. Fix indentation. 2008-07-29 Stan Shebs * main.c (captured_main): Remove long-unused #if 0 blocks. 2008-07-28 Tom Tromey * annotate.h (deprecated_annotate_starting_hook): Remove. (deprecated_annotate_stopped_hook): Remove. (deprecated_annotate_exited_hook): Remove. * Makefile.in (annotate.o): Depend on observer_h. * top.c (deprecated_delete_breakpoint_hook): Remove. (deprecated_create_breakpoint_hook): Likewise. (deprecated_modify_breakpoint_hook): Likewise. * interps.c (clear_interpreter_hooks): Update for removed hooks. * breakpoint.c (mention): Don't call removed hook. (delete_breakpoint): Likewise. (disable_breakpoint): Likewise. (do_enable_breakpoint): Likewise. * annotate.c: Include observer.h. (breakpoint_changed): Change type of argument. (_initialize_annotate): Register observers. (deprecated_annotate_starting_hook): Remove. (deprecated_annotate_stopped_hook): Remove. (deprecated_annotate_exited_hook): Remove. (annotate_starting): Update for hook removal. (annotate_stopped): Likewise. (annotate_exited): Likewise. * defs.h (deprecated_delete_breakpoint_hook): Remove. (deprecated_create_breakpoint_hook): Likewise. (deprecated_modify_breakpoint_hook): Likewise. 2008-07-28 Tom Tromey * main.c (captured_main): Don't use BEFORE_MAIN_LOOP_HOOK. 2008-07-27 Daniel Jacobowitz * configure.ac: Check for the GNU/Linux ptrace signature. * configure: Regenerated. 2008-07-27 Daniel Jacobowitz * linux-nat.c (resume_callback): Add more debugging output. (linux_nat_has_pending_sigint): New function, based on linux_nat_has_pending. (set_ignore_sigint, maybe_clear_ignore_sigint): New functions. (stop_wait_callback): Remove flush_mask handling. Honor ignore_sigint. Call maybe_clear_ignore_sigint. Pass NULL to recursive calls. (linux_nat_has_pending, flush_callback): Remove. (linux_nat_filter_event): Check for ignore_sigint. (linux_nat_wait): Remove flush_mask support and call to flush_callback. Use set_ignore_sigint and maybe_clear_ignore_sigint. * linux-nat.h (struct lwp_info): Add ignore_sigint field. 2008-07-27 Daniel Jacobowitz * linux-nat.c (count_events_callback, select_event_lwp_callback): Only report events from resumed threads. 2008-07-27 Daniel Jacobowitz * mips-linux-tdep.c (mips_linux_syscall_next_pc): New function. (mips_linux_init_abi): Set tdep->syscall_next_pc. * mips-tdep.c (enum mips_fpu_type, struct gdbarch_tdep): Move to mips-tdep.h. (mips32_next_pc): Handle the syscall instruction. * mips-tdep.h (enum mips_fpu_type, struct gdbarch_tdep): New, from mips-tdep.c. Add syscall_next_pc to gdbarch_tdep. 2008-07-26 Tom Tromey PR gdb/1158: * valops.c (value_struct_elt): Treat function-valued field as a static method. 2008-07-26 Tom Tromey PR gdb/1136: * macroexp.c (get_punctuator) : Rearrange to put longer tokens first. 2008-07-26 Vladimir Prus Kill cmd_async_ok. * cli/cli-decode.h (CMD_ASYNC_OK, set_cmd_async_ok) (get_cmd_async_ok): Remove. * cli/cli-decode.c (set_cmd_async_ok, get_cmd_async_ok): Remove. * cli/cli-cmds.c (init_cli_cmds): Don't use set_cmd_async_ok. * infcmd.c (_initialize_infcmd): Likewise. * thread.c (_initialize_thread): Likewise. 2008-07-25 Joseph Myers * mips-tdep.c (mips_n32n64_push_dummy_call): Handle passing 128-bit long doubles in even-odd pairs of FPRs. Do not right-align float arguments for big-endian. (mips_n32n64_return_value): Apply return value convention for structs containing one or two floating-point values to soft-float as well as hard-float. Handle 128-bit long doubles in such structs. (mips_o32_push_dummy_call): Only skip one integer register for a float argument passed in an FPR. 2008-07-25 Tom Tromey * tui/tui-hooks.c: Include observer.h. (tui_event_default, tui_old_event_hooks, tui_event_hooks): Remove. (tui_bp_created_observer, tui_bp_deleted_observer, tui_bp_modified_observer): New globals. (tui_install_hooks): Use observers, not events. (tui_remove_hooks): Likewise. * mi/mi-cmd-break.c: Include observer.h, not gdb-events.h. (mi_breakpoint_observers_installed, mi_can_breakpoint_notify): New globals. (breakpoint_notify): Check mi_can_breakpoint_notify. (breakpoint_hooks): Remove. (mi_cmd_break_insert): Attach observers. Don't use events. * tracepoint.c: Include observer.h, not gdb-events.h. (tracepoint_operation, trace_pass_command): Notify observer. * interps.c: Don't include gdb-events.h. (clear_interpreter_hooks): Don't call clear_gdb_event_hooks. * gdbarch.c: Rebuild. * gdbarch.sh: Emit include for observer.h, not gdb-events.h. (deprecated_current_gdbarch_select_hack): Notify observer. * breakpoint.h: Don't include gdb-events.h. * breakpoint.c: Don't include gdb-events.h. (condition_command): Notify observer. (commands_command): Likewise. (commands_from_control_command): Likewise. (mention, delete_breakpoint, set_ignore_count): Likewise. (disable_breakpoint, do_enable_breakpoint): Likewise. * Makefile.in (gdb_events_h): Remove. (breakpoint_h): Update. (COMMON_OBS): Remove gdb-events.o. (gdb-events.o): Remove. (breakpoint.o, gdbarch.o, interps.o, tracepoint.o, gdbtk-bp.o, gdbtk-hooks.o, mi-cmd-break.o, tui-hooks.o): Update. * gdb-events.c: Remove. * gdb-events.h: Remove. * gdb-events.sh: Remove. 2008-07-24 Pedro Alves * remote.c (remote_threads_extra_info): Don't query the remote server about info on the internally added main thread. 2008-07-24 Aleksandar Ristovski * nto-procfs.c (procfs_attach): Populate initial thread list. (procfs_wait): Return new pid, built from the inferior status. 2008-07-23 Thiago Jung Bauermann * configure.ac (CONFIG_INITS): Delete long obsoleted variable. * configure: Regenerate. 2008-07-23 Aleksandar Ristovski * nto-procfs.c (procfs_xfer_memory): Changed signature. (procfs_resume): Workaround for dereferencing type-punned pointer warning. * nto-tdep.c (nto_parse_redirection): Change signature to be const correct. * nto-tdep.h (nto_parse_redirection): Likewise. 2008-07-21 Stan Shebs Scrub remnants of IN_SOLIB_DYNSYM_RESOLVE_CODE. * gdbarch.sh: Adjust comment to refer to in_solib_dynsym_resolve_code(). * gdbarch.h, gdbarch.c: Update. * solib-osf.c: Ditto. * infrun.c: Ditto. (handle_inferior_event): Use in_solib_dynsym_resolve_code unconditionally. * config/mips/nm-irix5.h: Remove undef of IN_SOLIB_DYNSYM_RESOLVE_CODE. 2008-07-21 Tom Tromey * symfile.c (reread_symbols): Don't pass argument to observer. * exec.c (exec_file_attach): Don't pass argument to observer. * ada-lang.c (ada_executable_changed_observer): Remove argument. * symtab.c (symtab_observer_executable_changed): Remove argument. * observer.sh: Handle functions with no arguments. 2008-07-20 Sergei Poselenov Chris Demetriou * elfread.c (elf_symfile_segments): Fix the check that each loadable section fits within an ELF segment to handle ELF segments that hit the end of the address space. 2008-07-20 Chris Demetriou * MAINTAINERS (Write After Approval): Add self. 2008-07-18 Tom Tromey PR gdb/855: * NEWS: Add entry for macro commands. * Makefile.in (macrocmd.o): Add gdb_string.h. * macroscope.h (user_macro_scope): Declare. (default_macro_scope): Update documentation. (macro_user_macros): Declare. * c-lang.c (c_preprocess_and_parse): Always attempt macro lookup. Use user_macro_scope. (null_macro_lookup): Remove. * macrotab.h (macro_callback_fn): Declare. (macro_for_each): Likewise. (macro_allow_redefinitions): Likewise. * macrotab.c (foreach_macro): New function (macro_for_each): Likewise. (struct macro_table) : New field. (macro_allow_redefinitions): New function. (new_macro_table): Update. (macro_define_function): Likewise. (macro_define_object): Likewise. * macroscope.c (user_macro_scope): New function. (default_macro_scope): Use it. (macro_user_macros): New global. (standard_macro_lookup): Look in macro_user_macros. (_initialize_macroscope): New function. * macroexp.h (macro_is_whitespace, macro_is_digit, macro_is_identifier_nondigit): Declare. * macroexp.c (macro_is_whitespace): Rename. No longer static. (macro_is_digit): Likewise. (macro_is_identifier_nondigit): Likewise. (get_identifier): Update. (get_pp_number): Likewise. (get_token): Likewise. * macrocmd.c (skip_ws): New function. (extract_identifier): Likewise. (free_macro_definition_ptr): Likewise. (user_macros): Remove. (macro_define_command): Implement. (_initialize_macrocmd): Update. (macro_undef_command): Implement. (print_one_macro): New function. (macro_list_command): Implement. 2008-07-18 Joseph Myers * configure.ac: Put old value of $LIBS after -lbfd -liberty $intl in BFD ELF check. * configure: Regenerate. 2008-07-17 Paul Pluzhnikov * auxv.c (fprint_target_auxv): Stop at AT_NULL. 2008-07-15 Andreas Schwab * valops.c (value_cast_pointers): Follow typedefs when checking result of coercion. 2008-07-15 Daniel Jacobowitz * block.c (block_function): Renamed to ... (block_linkage_function): ... this. All callers changed. * block.h (block_function): Renamed to ... (block_linkage_function): ... this. 2008-07-15 Daniel Jacobowitz * mn10300-tdep.c (set_reg_offsets): Use get_frame_register_unsigned. 2008-07-15 Daniel Jacobowitz * frame.c (frame_sp_unwind): Delete. (get_frame_sp): Do not use it. * frame.h (frame_sp_unwind): Delete prototype. 2008-07-15 Daniel Jacobowitz * ia64-tdep.c (ia64_dummy_id): Use get_frame_pc. 2008-07-15 Daniel Jacobowitz * dwarf2-frame.c (dwarf2_frame_cache): Update comment. * frame.c (frame_unwind_address_in_block): Delete. (get_frame_address_in_block): Do not use it. Check the type of the next frame first. (frame_cleanup_after_sniffer): Update comment. * frame.h (frame_unwind_address_in_block): Delete prototype. * hppa-tdep.c (hppa_find_unwind_entry_in_block): Update comment. 2008-07-15 Daniel Jacobowitz * frame.c (frame_func_unwind): Delete. (get_frame_func): Do not use it. * frame.h (frame_func_unwind): Delete prototype. * hppa-tdep.c (hppa_frame_cache): Update comment. * rs6000-tdep.c (rs6000_frame_cache): Update comment. 2008-07-14 Stan Shebs * remote-sim.c (init_gdbsim_ops): Remove TARGET_REDEFINE_DEFAULT_OPS. 2008-07-15 Daniel Jacobowitz * findvar.c (read_var_value): Remove unused variable. 2008-07-15 Luis Machado * infrun.c (handle_inferior_event): Tag threads as stopped before inserting breakpoints. 2008-07-15 Hui Zhu * MAINTAINERS: Added myself to section Write After Approval. 2008-07-14 Paul Pluzhnikov PR gdb/2477 * cp-abi.c (value_virtual_fn_field): Handle invalid pointers. 2008-07-14 Pedro Alves * i386-dicos-tdep.c (i386_dicos_frame_align): Delete. (i386_dicos_push_dummy_code): New. (i386_dicos_init_abi): Don't register i386_dicos_frame_align. Register i386_dicos_push_dummy_code. 2008-07-14 Markus Deuling * mips-tdep.c (fp_register_arg_p): Add gdbarch as paramter. (mips_n32n64_push_dummy_call, mips_o64_return_value) (mips_eabi_push_dummy_call): Update call to fp_register_arg_p. (MIPS_FPU_TYPE): Add gdbarch as parameter and replace current_gdbarch. (fp_register_arg_p, mips_dump_tdep, show_mipsfpu_command) (mips_n32n64_fp_arg_chunk_p): Update caller. (mips_n32n64_fp_arg_chunk_p): Add gdbarch as paramter. (mips_n32n64_push_dummy_call): Update caller. (MIPS_LAST_ARG_REGNUM): Add gdbarch as parameter and replace current_gdbarch. (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call) (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Update caller. (MIPS_LAST_FP_ARG_REGNUM): Add gdbarch as parameter and replace current_gdbarch. (mips_eabi_push_dummy_call, mips_o32_push_dummy_call) (mips_o64_push_dummy_call): Update caller. (MIPS_EABI): Add gdbarch as parameter and replace current_gdbarch. (fp_register_arg_p, mips_dump_tdep): Update caller. (set_reg_offset): Add gdbarch as parameter and replace current_gdbarch. (mips16_scan_prologue, mips32_scan_prologue): Update caller. (reset_saved_regs): Make static. Add gdbarch as parameter. Replace current_gdbarch. (mips32_scan_prologue): Update caller. (heuristic_proc_start): Add gdbarch as parameter. Replace current_gdbarch. (mips_insn16_frame_cache, mips_insn32_frame_cache): Update caller. * mipsnbsd-nat.c (mipsnbsd_fetch_inferior_registers) (mipsnbsd_store_inferior_registers): Use get_regcache_arch to get at the current architecture. Update call to getregs_supplies. (getregs_supplies): Add gdbarch as parameter and replace current_gdbarch. * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use get_frame_arch to get at the current architecture. Update call to NBSD_MIPS_JB_OFFSET and NBSD_MIPS_JB_ELEMENT_SIZE. (NBSD_MIPS_JB_ELEMENT_SIZE, NBSD_MIPS_JB_OFFSET): Add gdbarch and replace current_gdbarch. * remote-mips.c (mips_map_regno): Add gdbarch as parameter and replace current_gdbarch. (mips_fetch_registers, mips_store_registers): Update call to mips_map_regno. (mips_load): Use get_regcache_arch to get at the current_architecture and replace current_gdbarch. 2008-07-13 Pedro Alves * thread.c (restore_selected_frame): On fail to restore, select the innermost frame, and don't crash when warning the user. 2008-07-13 Hui Zhu * symtab.c (expand_line_sal): Fix a memory leak. 2008-07-13 Pedro Alves * utils.c (struct continuation): Define as inheriting struct cleanup. (add_continuation, do_all_continuations) (discard_all_continuations, add_intermediate_continuation) (do_all_intermediate_continuations) (discard_all_intermediate_continuations): Adjust. 2008-07-13 Vladimir Prus Skip varobj in running threads. * mi/mi-cmd-var.c (mi_cmd_var_update): If varobj's thread is not stopped, skip the varobj. * Makefile.in: Update dependencies. 2008-07-13 Vladimir Prus Enable all commands while inferiour is running * mi/mi-main.c (mi_cmd_execute): Don't check if inferiour is executing. 2008-07-13 Vladimir Prus Allow all CLI command even if target is executing. * gdb/top.c (execute_command_1): Don't check if the inferiour is running. 2008-07-13 Vladimir Prus * mi/mi-main.c (mi_cmd_execute): Remove unused variable. Fix printing of frame, when frame is wrong. 2008-07-12 Ulrich Weigand * spu-tdep.c (spu_frame_unwind_cache): Do not error if backchain is unreadable. 2008-07-12 Ulrich Weigand * spu-linux-nat.c: Include "gdbthread.h". (spu_child_post_startup_inferior): Register main thread. (spu_child_post_attach): Likewise. * Makefile.in (spu-linux-nat.o): Update dependencies. 2008-07-12 Pedro Alves Rewrite continuations internals on top of cleanups and plug continuation arguments leaks. * defs.h (struct continuation): Make it opaque. (add_continuation, add_intermediate_continuation): Drop the int argument of the continuation hook argument. Add continuation_free_args argument. (do_all_continuations, do_all_intermediate_continuations): Drop the error_p argument. * utils.c (add_continuation): Drop the int argument of the continuation hook argument. Add continuation_free_args argument. Reimplement on top of cleanups. (do_all_continuations): Drop error argument. Reimplement on top of cleanups. (discard_all_continuations): Reimplement on top of cleanups. (add_intermediate_continuation): Drop the int argument of the continuation hook argument. Add continuation_free_args argument. Reimplement on top of cleanups. (do_all_intermediate_continuations): Drop error argument. Reimplement on top of cleanups. (discard_all_intermediate_continuations): Reimplement on top of cleanups. * breakpoint.c (until_break_command_continuation): Drop error argument. Add xfree as continuation argument deleter. * inf-loop.c (inferior_event_handler): On error, discard all continuations. Adjust to new do_all_intermediate_continuations and do_all_continuations interfaces. * infcmd.c (step_1_continuation): Drop error_p argument. Adjust. Pass xfree as continuation argument deleter. (finish_command_continuation): Drop error_p argument. Adjust. (finish_command_continuation_free_arg): New. (finish_command): Pass finish_command_continuation_free_arg as continuation argument deleter. Adjust to new do_all_continuations interfaces. (attach_command_continuation): Drop error_p argument. (attach_command_continuation_free_args): New. (attach_command): Pass attach_command_continuation_free_args as continuation argument deleter. * interps.c (interp_set): Adjust to new do_all_continuations interfaces. * event-top.c (stdin_event_handler): In error, also discard the intermediate continuations. 2008-07-12 Pedro Alves Replace struct continuation_args by void* and per command structs. * top.c (execute_command): Remove unused arg1 and arg2 locals. * breakpoint.c (struct until_break_command_continuation_args): New. (until_break_command_continuation): Take a void* instead of a continuations_arg. Adjust. (until_break_command): Adjust to use struct until_break_command_continuation_args instead of struct continuation_arg. * infcmd.c (struct step_1_continuation_args): New. (step_1_continuation): Take a void* instead of a continuations_arg. Adjust to use struct step_1_continuation_args. (step_once): Adjust to use struct step_1_continuation_args. (struct finish_command_continuation_args): New. (finish_command_continuation): Take a void* instead of a continuations_arg. Adjust to use struct finish_command_continuation_args. (finish_command): Adjust to use struct finish_command_continuation_args. (struct attach_command_continuation_args): New. (attach_command_continuation): Take a void* instead of a continuations_arg. Adjust to use struct attach_command_continuation_args. (attach_command): Adjust to use struct attach_command_continuation_args. * defs.h (struct continuation_arg): Delete. (struct continuation): Replace the struct continuation_arg* parameter of continuation_hook by a void*. Replace "arg_list" member by a new "args" member with void* type. (add_continuation, add_intermediate_continuation): Replace struct continuation_arg type usages by void* usages. * utils.c (add_continuation, do_all_continuations) (add_intermediate_continuation) (do_all_intermediate_continuations): Replace struct continuation_arg type usages by void* usages. Pass "args" instead of "arg_list". 2008-07-12 Pedro Alves * infrun.c (struct thread_stepping_state): Delete sal member. (init_thread_stepping_state): Add local sal. Use it instead of tss->sal. (handle_inferior_event): New local stop_pc_sal. Use it instead of tss->sal. (step_into_function): Add local stop_func_sal. Use it instead of tss->sal. 2008-07-12 Vladimir Prus Implement -exec-continue/-exec-interrupt --all. * infcmd.c (continue_1): New, extracted from (continue_command): ...here. (interrupt_target_1): New, extracted from (interrupt_target_command): ...here. * inferior.h (continue_1, interrupt_target_1): New. * mi/mi-main.c (mi_cmd_exec_continue) (mi_cmd_exec_interrupt): Handle --all. 2008-07-12 Vladimir Prus Implement --thread and --frame. * gdbthread.h (find_thread_id): Declare. * thread.c (find_thread_id): Make non-static. * mi/mi-main.c (mi_cmd_execute): Switch to the right thread and frame, if necessary. * mi/mi-parse.c (mi_parse): Handle --thread and --frame. * mi/mi-parse.h (strcut mi_parse): New fields thread and frame. 2008-07-12 Vladimir Prus * infrun.c (resume): Discard cleanups on early exit path. 2008-07-12 Vladimir Prus * infrun.c (normal_stop): For MI, report which threads were stopped. 2008-07-12 Vladimir Prus Report thread state in -thread-info output. * thread.c (print_thread_info): Add new field "state". 2008-07-11 Pedro Alves * infrun.c (handle_inferior_event): Also ignore a TARGET_SIGNAL_TRAP on a STOP_QUIETLY_NO_SIGSTOP. 2008-07-11 Tom Tromey * completer.c (complete_line_internal): New function, from complete_line. Add 'for_help' parameter. (complete_line): Use it. (command_completer): Move later. Rewrite. 2008-07-11 Pedro Alves * thread.c (thread_apply_command): Move making the cleanup out of the loop. 2008-07-11 Pedro Alves Exited threads. * thread.c (enum thread_state): New. (thread_state main_thread_running): Delete, in favor of... (thread_state main_thread_state): ... this. Update throughout. (clear_thread_inferior_resources): New, split from free_thread. (free_thread): Call clear_thread_inferior_resources. (init_thread_list): Set main thread to stopped state. (add_thread_silent): Take care of PTID reuses. (delete_thread): If deleting inferior_ptid or a thread with refcount > 0, mark it as exited, but still keep it in the list. Only notify of thread exits, if we haven't done so yet. (iterate_over_threads): Make it safe to delete threads while iterating over them. (do_captured_list_thread_ids): Don't account for exited threads. (thread_alive): Check for the THREAD_EXITED state, and don't set ptid to -1 on exited threads. (set_running): Update to account for extra possible states. (is_thread_state): New. (is_stopped, is_exited): New. (is_running): Implement in terms of is_thread_state. (any_running): Update. (print_thread_info): Update. Account for exited threads. Don't warn about missed frame restoring here, its done in the cleanup. (switch_to_thread): Don't read from a thread that has gone. (restore_current_thread): In non-stop mode, do a full context switch. (restore_selected_frame): Add a frame_level argument. Rewrite. (struct current_thread_cleanup): Add selected_frame_level and was_stopped members. (do_restore_current_thread_cleanup): Check if thread was stopped and still is, and if the target has registers, stack and memory before restoring the selected frame. Don't delete the cleanup argument here. (restore_current_thread_cleanup_dtor): New. (make_cleanup_restore_current_thread): Remove all arguments. Rewrite. (thread_apply_all_command): Update. Prune threads. (thread_apply_command): Update. (thread_command): Account for currently selected exited thread. (do_captured_thread_select): Check for a running thread. Prune threads. (_initialize_thread): Make "info threads", "thread", "thread apply", and "thread apply all" appliable without a selected thread. * gdbthread.h (struct thread_info): Replace running_ by state_. Add refcount. (is_exited, is_stopped): Declare. (make_cleanup_restore_current_thread): Remove all arguments. * infrun.c: Include "event-top.h". (fetch_inferior_event): In non-stop mode, restore selected thread and frame after handling the event and running breakpoint commands. Display GDB prompt if needed. (normal_stop): In non-stop mode, don't print thread switching notice. * cli/cli-decode.c (set_cmd_no_selected_thread_ok) (get_cmd_no_selected_thread_ok): New. * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): New. (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok): Declare. * cli/cli-cmds.c: Set "pwd", "help", "info", "show" as no-selected-thread ok. * top.c (execute_command): Check for non no-selected-thread-ok commands. * linux-nat.c (struct saved_ptids, threads_to_delete) (record_dead_thread, prune_lwps): Delete. (exit_lwp): Unconditionally delete thread. (linux_nat_resume): Remove prune_lwps call. * infcmd.c (proceed_thread_callback): Check if !is_stopped instead of is_running. Adjust to make_cleanup_restore_current_thread interface change. * mi/mi-main.c (mi_cmd_execute): Only allow a few commands if the selected thread has exited. * inf-loop.c (inferior_event_handler): Don't display the prompt here. * varobj.c (c_value_of_root): Update. * defs.h (make_cleanup_dtor): Declare. * utils.c (make_cleanup_dtor): New. * Makefile.in (infrun.o): Depend on $(event_top_h). 2008-07-11 Pedro Alves Add "continue -a" and "interrupt -a" options for non-stop mode. * infcmd.c (proceed_thread_callback, do_context_switch_to): New. (continue_command): Add "-a" option. (interrupt_target_command): Add "-a" option. (_initialize_infcmd): Add extend help of continue and interrupt command to mention the new "-a" option. Mark "continue" async ok. 2008-07-10 Doug Evans Add "set print symbol-loading on|off". * NEWS: Document new option. * symfile.h (print_symbol_loading): Declare. * symfile.c (print_symbol_loading): New global. (symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols from ..." if print_symbol_loading. (_initialize_symfile): Add set/show print symbol-loading. * solib.c (solib_read_symbols): Only print "Loaded symbols for ..." if print_symbol_loading. 2008-07-10 Pedro Alves Non-stop linux native. * linux-nat.c (linux_test_for_tracefork): Block events while we're here. (get_pending_status): Implement non-stop mode. (linux_nat_detach): Stop threads before detaching. (linux_nat_resume): In non-stop mode, always resume only a single PTID. (linux_handle_extended_wait): On a clone event, in non-stop mode, add new lwp to GDB's thread table, and mark as running, executing and stopped appropriately. (linux_nat_filter_event): Don't assume there are other running threads when a thread exits. (linux_nat_wait): Mark the main thread as running and executing. In non-stop mode, don't stop all lwps. (linux_nat_kill): Stop lwps before killing them. (linux_nat_thread_alive): Use signal 0 to detect if a thread is alive. (send_sigint_callback): New. (linux_nat_stop): New. (linux_nat_add_target): Set to_stop to linux_nat_stop. * linux-nat.h (thread_db_attach_lwp): Declare. * linux-thread-db.c (thread_get_info_callback): Check for new threads if we have none. (thread_from_lwp, enable_thread_event): Set proc_handle.pid to the stopped lwp. Check for new threads if we have none. (thread_db_attach_lwp): New. (thread_db_init): Set proc_handle.pid to inferior_ptid. (check_event): Set proc_handle.pid to the stopped lwp. (thread_db_find_new_threads): Set proc_handle.pid to any stopped lwp available, bail out if there is none. * linux-fork.c (linux_fork_killall): Use SIGKILL instead of PTRACE_KILL. 2008-07-10 Kevin Buettner * rs6000-tdep.c (ppc_displaced_step_fixup): Change type of `current_pc' from CORE_ADDR to ULONGEST. * remote-sim.c (gdbsim_cntrl_c): Pass remote_sim_ptid to gdbsim_stop(). 2008-07-10 Jan Kratochvil * NEWS (New commands): Mention "set disable-randomization". * configure.ac: Add check for HAVE_PERSONALITY and HAVE_DECL_ADDR_NO_RANDOMIZE. * configure, config.in: Regenerate. * linux-nat.c [HAVE_PERSONALITY]: New include . [HAVE_PERSONALITY] [!HAVE_DECL_ADDR_NO_RANDOMIZE]: Set ADDR_NO_RANDOMIZE. (disable_randomization, show_disable_randomization) (set_disable_randomization): New. (linux_nat_create_inferior) [HAVE_PERSONALITY]: New variables PERSONALITY_ORIG and PERSONALITY_SET. Disable randomization upon the variable DISABLE_RANDOMIZATION. (_initialize_linux_nat): Call ADD_SETSHOW_BOOLEAN_CMD for the variable DISABLE_RANDOMIZATION. 2008-07-09 Pedro Alves Adjust all targets to new target_stop interface. * gnu-nat.c (gnu_stop): Add ptid argument. * go32-nat.c (go32_stop): Add ptid argument. (go32_create_inferior): Pass inferior_ptid to go32_stop. * hpux-thread.c (hpux_thread_stop): Add ptid argument. * monitor.c (monitor_stop): Add ptid argument. (monitor_open): Pass inferior_ptid to monitor_stop. (monitor_interrupt): Pass inferior_ptid to target_stop. (monitor_stop): Add ptid argument. * nto-procfs.c (nto_interrupt): Pass inferior_ptid to target_stop. (procfs_create_inferior): Add ptid argument. * procfs.c (procfs_stop): Add ptid argument. * remote-m32r-sdi.c (m32r_stop): Add ptid argument. * remote-sim.c (gdbsim_stop): Add ptid argument. * sol-thread.c (sol_thread_stop): Add ptid argument. * win32-nat.c (win32_stop): Add ptid argument. 2008-07-09 Pedro Alves Non-stop inferior control. * infrun.c (resume): In non-stop mode, always resume just one thread. (proceed): Don't call prepare_to_proceed in non-stop mode. (fetch_inferior_event): In non-stop mode, switch context before handling the event. (error_is_running, ensure_not_running): New. (handle_inferior_event): In non-stop mode: Mark only the event thread as stopped. Require that the target module manages adding threads to the thread list. Assert that there isn't a deferred_step_ptid set. Don't switch to infwait_thread_hop_state. (normal_stop): Only mark not-running if inferior hasn't exited. In non-stop mode, only mark the event thread. * thread.c:Include "cli/cli-decode.h". (print_thread_info): Don't read from a running thread. Output "(running)" if thread is running. (switch_to_thread): Don't read stop_pc if thread is executing. (do_restore_current_thread_cleanup): Don't write to a running thread. (thread_apply_all_command): Don't read from a running thread. In non-stop mode, do a full context-switch instead of just switching threads. (thread_apply_command): In non-stop mode, do a full context-switch instead of just switching threads. (do_captured_thread_select): Likewise. Inform user if selected thread is running. (_initialize_thread): Mark "info threads" and "thread" and async_ok. * inf-loop.c (inferior_event_handler): In non-stop mode, don't unregister the target from the event loop. * infcmd.c (continue_command, step_1, jump_command) (signal_command): Ensure the selected thread isn't running. (interrupt_target_command): In non-stop mode, interrupt only the selected thread. * inferior.h (error_is_running, ensure_not_running): Declare. * target.h (struct target_ops): Add ptid argument to the to_stop member. (target_stop): Add ptid_t argument. * target.c (update_current_target): Add ptid argument to to_stop's type. (debug_to_stop): Add ptid_t argument. (debug_to_rcmd): Set to_stop_ptid. * remote.c (remote_stop): Add ptid_t argument. (async_remote_interrupt): Add inferior_ptid to target_stop. * inf-ptrace.c (inf_ptrace_stop): Add ptid argument. * Makefile.in (thread.o): Depend on $(cli_decode_h). 2008-07-09 Pedro Alves Don't rely on ecs->wait_for_more. * infrun.c (proceed): Clear the stepping state, set previous_inferior_ptid and clear infwait state. (wait_for_inferior): Don't clear the stepping state, set previous_inferior_ptid, or clear the infwait state here. (fetch_inferior_event): Don't clear the stepping state, set previous_inferior_ptid, or clear the infwait state here. Don't condition on wait_for_more. 2008-07-09 Pedro Alves Refactor infrun a bit. * infrun.c (currently_stepping): Take a struct thread_stepping_state instead of an execution_control_state. (struct thread_stepping_state): New, split from execution_control_state. (gtss, tss): New globals. (proceed): Clear the stepping state, set previous_inferior_ptid and clear infwait state. (init_wait_for_inferior): Clear the stepping state, previous_inferior_ptid and infwait state. (waiton_ptid, infwait_state): New, split from execution_control_state. (struct execution_control_state): Members that persist through events moved out to either struct thred_stepping_state or made global. Deleted unneeded wp, saved_inferior_ptid, tmpstatus. (wait_for_inferior, fetch_inferior_event): Use local execution_control_state. Update to execution_control_state split. (init_execution_control_state): Adjust. (init_thread_stepping_state): New, extracted from init_execution_control_state. (context_switch): Take a ptid instead of an execution_control_state. (context_switch_to): Adjust. (adjust_pc_after_break): Adjust. (init_infwait_state): New. (handle_inferior_event): Adjust. 2008-07-09 Pedro Alves Vladimir Prus Per-thread commands. * gdbthread.h: Remove unneeded forward declarations. Include "inferior.h". (struct thread_info): Add continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi and stop_signal members. (save_infrun_state): Add continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi, stop_signal and stop_bpstat parameters. (load_infrun_state): Add continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi, stop_signal and stop_bpstat parameters. * thread.c (load_infrun_state): In non-stop mode, load continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi and stop_signal. (save_infrun_state): Store continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi, stop_signal and stop_bpstat. (save_infrun_state): Store continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi, stop_signal and stop_bpstat. (free_thread): Clear The thread's stop_bpstat. * inferior.h (context_switch_to): Declare. * infrun.c (ecss): New global. (context_switch): Context switch continuations, intermediate_continuations, proceed_to_finish, step_over_calls, stop_step, step_multi, stop_signal and stop_bpstat. (wait_for_inferior): Use global ecss. (async_ecss, async_ecs): Delete. (fetch_inferior_event): Use global ecss. (context_switch_to): New. * top.c (execute_command): In non-stop, only check if the current thread is running, in all-stop, check if there's any thread running. * breakpoint.c (bpstat_remove_breakpoint): New. (bpstat_remove_breakpoint_callback): New. (delete_breakpoint): Clear the stop_bpstats of all threads. * mi/mi-main.c (mi_cmd_execute): In non-stop, only check if the current thread is running, in all-stop, check if there's any thread running. * Makefile.in (gdbthread_h): Depend on $(inferior_h). 2008-07-09 Pedro Alves Add non_stop global. * inferior.h (non_stop): Declare. * infrun.c (non_stop, non_stop_1): New. (set_non_stop, show_non_stop): New. (_initialize_infrun): Add "set/show non-stop" command. 2008-07-09 Pedro Alves Adjust fork/vfork/exec to pass ptids around. * target.h (struct target_waitstatus): Store related_pid as a ptid. (inferior_has_forked, inferior_has_vforked, inferior_has_execd): Take a ptid_t. * breakpoint.h (struct breakpoint): Change forked_inferior_pid type to ptid. * breakpoint.c (print_it_typical, bpstat_check_location) (print_one_breakpoint_location, set_raw_breakpoint_without_location) (create_fork_vfork_event_catchpoint): Adjust. * infrun.c (fork_event): Change parent_pid and child_pid types to ptid. (follow_exec, inferior_has_forked, inferior_has_vforked) (inferior_has_execd): Take a ptid_t and don't trim it. * linux-thread-db.c (thread_db_wait): Don't trim the returned ptid. * linux-nat.c (linux_child_follow_fork): Adjust. * inf-ptrace.c (inf_ptrace_wait): Adjust. * inf-ttrace.c (inf_ttrace_wait): Adjust. * win32-nat.c (get_win32_debug_event): Don't set related_pid. 2008-07-09 Pedro Alves Add "executing" property to threads. * inferior.h (target_executing): Delete. * gdbthread.h (struct thread_info): Add executing_ field. (set_executing, is_executing): New. * thread.c (main_thread_executing): New. (init_thread_list): Clear it and also main_thread_running. (is_running): Return false if target has no execution. (any_running, is_executing, set_executing): New. * top.c: Include "gdbthread.h". (target_executing): Delete. (execute_command): Replace target_executing check by any_running. * event-top.c: Include "gdbthread.h". (display_gdb_prompt, command_handler): Replace target_executing by is_running. * inf-loop.c: Include "gdbthread.h". Don't mark as not executing here. Replace target_executing by is_running. * infrun.c (handle_inferior_event): Mark all threads as not-executing. * linux-nat.c (linux_nat_resume): Don't mark thread as executing here. * stack.c (get_selected_block): Return null if inferior is executing. * target.c (target_resume): Mark resumed ptid as executing. * breakpoint.c (until_break_command): Replace target_executing check by is_executing. * remote.c (remote_async_resume): Don't mark inferior as executing here. * mi/mi-interp.c (mi_cmd_interpreter_exec): Replace target_executing by any_running. * mi/mi-main.c (mi_cmd_exec_interrupt, mi_cmd_execute) (mi_execute_async_cli_command): Replace target_executing by is_running. * frame.c (get_current_frame): Error out if the current thread is executing. (has_stack_frames): New. (get_selected_frame, deprecated_safe_get_selected_frame): Check has_stack_frames. * Makefile.in (event-top.o, frame.o, inf-loop.o, top.o): Depend on $(gdbthread_h). 2008-07-09 Pedro Alves * symfile.c (load_command): Reopen the exec file and reread symbols before anything else. 2008-07-09 Pedro Alves * remote-sim.c: Include gdbthread.h. (remote_sim_ptid): New global. (gdbsim_create_inferior): Silently add the main task to GDB's thread list. (gdbsim_close, gdbsim_mourn_inferior): Silently delete the main task from GDB's thread list. (gdbsim_resume): Adjust to use remote_sim_ptid. (gdbsim_thread_alive, gdbsim_pid_to_str): New. (init_gdbsim_ops): Register gdbsim_thread_alive and gdbsim_pid_to_str. (_initialize_remote_sim): Initialize remote_sim_ptid. * Makefile.in (remote-sim.o): Depend on $(gdbthread_h). 2008-07-09 Pedro Alves * monitor (monitor_ptid): New global. (monitor_open): Silently add the main task to GDB's thread list. (monitor_close, monitor_mourn_inferior): Silently delete the main task from GDB's thread list. (monitor_thread_alive, monitor_pid_to_str): New. (init_base_monitor_ops): Register monitor_thread_alive and monitor_pid_to_str. (_initialize_remote_monitors): Initialize monitor_ptid. * gdbthread.h (delete_thread_silent): Declare. * thread.c (delete_thread): Rename to ... (delete_thread_1): ... this. Add "silent" parameter. If silent, don't do exit notifications. (delete_thread, delete_thread_silent): New, as wrappers to delete_thread_1. 2008-07-08 Pedro Alves * breakpoint.c (update_global_location_list): Add boolean "should_insert" argument. Only insert locations if caller told it too. (update_global_location_list_nothrow): Add boolean "should_insert" argument. Pass it to update_global_location_list. (insert_breakpoints, create_longjmp_breakpoint) (create_overlay_event_breakpoint, enable_overlay_breakpoints) (create_thread_event_breakpoint, create_solib_event_breakpoint) (create_fork_vfork_event_catchpoint, create_exec_event_catchpoint) (enable_watchpoints_after_interactive_call_stop) (set_momentary_breakpoint, create_breakpoints) (break_command_really, watch_command_1) (create_ada_exception_breakpoint, update_breakpoint_locations) (do_enable_breakpoint, enable_command): Pass true to update_global_location_list. (bpstat_stop_status, disable_overlay_breakpoints) (disable_watchpoints_before_interactive_call_start) (delete_breakpoint, disable_breakpoint, disable_command): Pass false to update_global_location_list. (update_breakpoints_after_exec): Don't temporarily disable always-inserted mode. 2008-07-08 Pedro Alves * breakpoint.c (mark_breakpoints_out): Make public. (update_breakpoints_after_exec): Don't call mark_breakpoints_out here. Update comment. * breakpoint.h (mark_breakpoints_out): Declare. * linux-nat.c (linux_handle_extended_wait): On TARGET_WAITKIND_EXECD, call mark_breakpoints_out. * inf-ttrace.c (inf_ttrace_wait): Likewise. 2008-07-08 Pedro Alves * infrun.c (follow_exec): Reset shared libraries before adding the main exec file. 2008-07-07 Jan Kratochvil * breakpoint.c (bpstat_copy): Call RELEASE_VALUE on the new OLD_VAL. 2008-07-07 Pedro Alves * i386-dicos-tdep.c: Include "inferior.h". (i386_dicos_frame_align): New. (i386_dicos_init_abi): Register i386_dicos_frame_align. Set call dummy location ON_STACK. * Makefile.in (i386-dicos-tdep.o): Depend on $(inferior_h). 2008-07-07 Joel Brobecker * gstdint.h: New file. 2008-07-05 Vladimir Prus * mi/mi-interp.c (mi_on_resume): Don't try to report resumed thread it the thread list is empty. 2008-07-05 Pierre Muller * cli/cli-decode.c (add_setshow_optional_filename_cmd): Set completer for set to filename_completer. NEWS: Mention it. 2008-07-04 Vladimir Prus Implement -target-attach. * mi/mi-cmds.c (mi_cmds): Forward -target-attach to CLI attach. 2008-06-21 Hui Zhu * target-descriptions.c (maint_print_c_tdesc_cmd): Fix a memory leak. 2008-07-03 Pedro Alves * config/i386/nm-cygwin.h (ATTACH_NO_WAIT): Delete. * config/i386/nm-i386gnu.h (ATTACH_NO_WAIT): Delete. * target.h (struct target_ops): Add to_attach_no_wait member. (target_attach_no_wait): New. * target.c (update_current_target): Inherit to_attach_no_wait. * infcmd.c: Replace ATTACH_NO_WAIT compile time check by target_attach_no_wait runtime check. * gnu-nat.c (init_gnu_ops): Set to_attach_no_wait in gnu_ops. * win32-nat.c (init_win32_ops): Set to_attach_no_wait in win32_ops. 2008-07-03 Pedro Alves * i386-tdep.c (i386_displaced_step_fixup): Condition log printing on debug_displaced being set. 2008-06-30 Daniel Jacobowitz * frame.c (get_prev_frame_1): Call frame_unwind_find_by_frame directly instead of get_frame_id. 2008-06-30 Luis Machado * rs6000-tdep.c (ppc_displaced_step_fixup): New function. (deal_with_atomic_sequence): Update BC masks. (rs6000_gdbarch_init): Init displaced stepping infra-structure. Define BRANCH_MASK, B_INSN, BC_INSN, BXL_INSN, BP_MASK and BP_INSN. 2008-06-30 Daniel Jacobowitz * cris-tdep.c (crisv32_single_step_through_delay): Get this frame's register, not the previous frame's. 2008-06-30 Luis Machado * source.c (select_source_symtab): Make sure we skip namespace symtabs when showing cpp source code. 2008-06-30 Hans-Peter Nilsson * MAINTAINERS (Authorized committers): Fix my email address. 2008-06-28 Vladimir Prus * mi/mi-cmds.c (mi_cmds): Route -exec-run, -exec-until, -target-download and -target-select via CLI, so that the quoting rules are the same as they were (unfortunately) in all prior gdb releases. * mi/mi-cmds.h (mi_cmd_exec_run, mi_cmd_exec_until) (mi_cmd_target_download, mi_cmd_target_select): Remove. * mi/mi-main.c (mi_cmd_exec_run, mi_cmd_exec_until) (mi_cmd_target_download, mi_cmd_target_select): Remove. (mi_cmd_execute): Set current_token even for commands routed via CLI. 2008-06-28 Ulrich Weigand * alphafbsd-tdep.c: Update for unwinder changes. * alpha-linux-tdep.c: Likewise. * alphanbsd-tdep.c: Likewise. * alphaobsd-tdep.c: Likewise. * avr-tdep.c: Likewise. * cris-tdep.c: Likewise. * frv-linux-tdep.c: Likewise. * frv-tdep.c: Likewise. * h8300-tdep.c: Likewise. * hppa-linux-tdep.c: Likewise. * iq2000-tdep.c: Likewise. * m32c-tdep.c: Likewise. * m32r-linux-tdep.c: Likewise. * m32r-tdep.c: Likewise. * m68hc11-tdep.c: Likewise. * mep-tdep.c: Likewise. * mn10300-tdep.c: Likewise. * mt-tdep.c: Likewise. * score-tdep.c: Likewise. * sh64-tdep.c: Likewise. * sh-tdep.c: Likewise. * sparc64fbsd-tdep.c: Likewise. * sparc64nbsd-tdep.c: Likewise. * sparc64obsd-tdep.c: Likewise. * v850-tdep.c: Likewise. * vaxobsd-tdep.c: Likewise. * vax-tdep.c: Likewise. * xstormy16-tdep.c: Likewise. 2008-06-28 Vladimir Prus * mi/mi-main.c (enum captured_mi_execute_command_actions) (captured_mi_execute_command_args): Remove. (captured_mi_execute_command): Cast the closure to mi_parse pointer, not to captured_mi_execute_command_args, and don't set the action field thereof. (mi_execute_command): Pass struct mi_parse, not captured_mi_execute_command_args to captured_mi_execute_command. (mi_execute_command): Remove (dead) code for suppressing printing prompt. 2008-06-28 Pedro Alves * linux-nat.c (enum sigchld_state): New. (linux_nat_async_events_state): Renamed from linux_nat_async_events_enabled. (linux_nat_event_pipe_push, my_waitpid): Adjust. (sigchld_default_action): New. (lin_lwp_attach_lwp): Adjust. Call linux_nat_async_events unconditionally. (linux_nat_create_inferior): Set events state to sigchld_default state. (linux_nat_resume): Adjust. (linux_nat_wait): Call linux_nat_async_events unconditionally. (sigchld_handler): Adjust. (linux_nat_async_mask): Don't set SIGCHLD actions here. (get_pending_events): Adjust. (linux_nat_async_events): Rewrite to handle enum sigchld_state instead of a boolean. (linux_nat_async): Adjust. (_initialize_linux_nat): Capture default SIGCHLD action into sigchld_default_action. 2008-06-28 Vladimir Prus * breakpoint.c (moribund_locations): New. (bpstat_stop_status): Process moribund locations. (update_global_location_list): Add removed locations to moribund_locations. (breakpoint_retire_moribund): New. * breakpoint.h (struct bp_location): New field events_till_retirement. (breakpoint_retire_moribund): Declare. * thread.c (thread_count): New. * infrun.c (handle_inferior_event): Call breakpoint_retire_moribund. * gdbthread.h (thread_count): Declare. 2008-06-27 Joseph Myers * dfp.c (decimal_convert): Call match_endianness before and after conversion. 2008-06-27 Jonathan Larmour * remote.c (remote_insert_breakpoint): Ensure that if Z0 unsupported and we fall back to memory_insert_breakpoint, we use the unmodified requested address. 2008-06-27 Joel Brobecker * dwarf2read.c (read_attribute_value): Issue a complaint when adjusting size attribute values of 0xffffffff as zero. 2008-06-27 Joseph Myers * i386-tdep.c (i386_16_byte_align_p): New. (i386_push_dummy_call): Determine stack space required for arguments going forwards allowing for 16-byte alignment, then push arguments going forwards. 2008-06-27 Pedro Alves * infrun.c (start_remote): Don't clear thread list here. * monitor.c (monitor_open): Include "gdbthread.h". Clear thread list here. * remote.c (record_currthread): Upgrade the main thread and its entry in the thread list if this is the first time we hear about threads. (remote_thread_alive): Consider magic_null_ptid or a ptid without a tid member always alive. (remote_find_new_threads): Don't update the main thread here. (remote_start_remote): Clear thread list here. Always add the main thread. (extended_remote_attach_1): Add the main thread here. (extended_remote_mourn_1): Re-add the main thread here. (extended_remote_create_inferior_1): Add a main thread. * Makefile.in (monitor.o): Depend on $(gdbthread_h). 2008-06-27 Pedro Alves Use ptid_t.tid to store thread ids instead of ptid_t.pid. * remote.c (magic_null_ptid, not_sent_ptid, any_thread_ptid): New globals. (general_thread, continue_thread): Change type to ptid_t. (record_currthread): Take a ptid_t parameter instead of an integer. (MAGIC_NULL_PID): Delete. (set_thread): Take a ptid_t parameter and adjust. (set_general_thread, set_continue_thread): New. (remote_thread_alive, remote_newthread_step) (remote_current_thread, remote_find_new_threads) (remote_threads_info, remote_start_remote, remote_vcont_resume) (remote_resume_1, remote_wait, extended_remote_create_inferior_1) (threadalive_test, remote_pid_to_str) (remote_get_thread_local_address): Adjust. (_initialize_remote): Initialize magic_null_ptid, not_sent_ptid and any_thread_ptid. 2008-06-26 Jan Kratochvil * configure.ac (--enable-tui): AC_MSG_ERROR for explicit --enable-tui. * configure: Regenerated. 2008-06-26 Joel Brobecker * dwarf2read.c (read_attribute_value): Treat size attribute values of 0xffffffff as if the attribute value was zero. 2008-06-26 Vladimir Prus * linux-nat.c: Add description of overall logic. 2008-06-26 Daniel Jacobowitz * Makefile.in (GNULIB_H): Use GNULIB_STDINT_H. (gdb_stdint_h, gdb_stdint.h, stamp-int): Delete. Remove all dependencies on $(gdb_stdint_h). (distclean): Do not delete gdb_stdint.h. * acinclude.m4: Do not use stdint.m4. * configure.ac: Set GNULIB_STDINT_H. Remove tests for stdint.h, uintptr_t, and gdb_stdint.h. * defs.h: Include . * gdb_thread_db.h: Assume stdint.h is already included. * breakpoint.c, findcmd.c, hppa-tdep.c, inf-ptrace.c, proc-service.c, rs6000-nat.c, spu-linux-nat.c, target.c, win32-nat.c: Do not include gdb_stdint.h. * configure, config.in: Regenerate. 2008-06-26 Joseph Myers * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Handle passing decimal floating-point values in GPRs for soft-float. (do_ppc_sysv_return_value): Handle returning decimal floating-point values in GPRs for soft-float. 2008-06-26 Vladimir Prus * target.c (target_read_until_error): New. * target.h (target_read_until_error): Declare. * mi/mi-main.c (mi_cmd_data_read_memory): Use target_read_until_error. 2008-06-25 Jan Kratochvil Fix a memory leak found by Hui Zhu . * c-exp.y (parse_number): Move the S and SAVED_CHAR initialization after the DECFLOAT detection to fix a memory leak. Remove the redundant NUM initialization. Protect the DECFLOAT detection memory access before the P block. Restore the P memory content for the DECFLOAT detection. 2008-06-25 Vladimir Prus Kill the return value for all MI command functions. * mi/mi-cmds.h (enum mi_cmd_result): Remove. (mi_cmd_argv_ftype): Change return type to void. * mi/mi-main.c: Adjust all function that implement MI commands to return nothing. (struct captured_mi_execute_command_actions): Remove the rc field. (mi_cmd_execute): Return nothing. (mi_execute_async_cli_command): Return nothing. (mi_cmd_exec_interrupt): Don't print ^done here. (mi_cmd_target_select): Don't print ^connected here. (captured_mi_execute_command): Don't check for MI_CMD_DONE. Special-case -target-select and output ^connected, not ^done. * mi/mi-cmd-break.c: Adjust. * mi/mi-cmd-disas.c: Adjust. * mi/mi-cmd-env.c: Adjust. * mi/mi-cmd-file.c: Adjust. * mi/mi-cmd-stack.c: Adjust. * mi/mi-cmd-target.c: Adjust. * mi/mi-cmd-var.c: Adjust. * mi/mi-interp.c: Adjust. * mi/mi-symbol-cmds.c: Adjust. 2008-06-25 Vladimir Prus Emit ^running via observer. * mi/mi-interp.c (mi_cmd_interpreter_exec): Do no print ^running here. (mi_on_resume): Print ^running if not previously output. * mi/mi-main.c (running_result_record_printed): New. (captured_mi_execute_command): Reset running_result_record_printed. Use running_result_record_printed to decide if we should skip ^done. (mi_execute_async_cli_command): Don't print ^running here. * mi/mi-main.h (current_token, running_result_record_printed): Declare. 2008-06-24 Michael Snyder * infrun.c (_initialize_infrun): White space and typo fix. 2008-06-23 Christopher Faylor * win32-nat.c (safe_symbol_file_add_stub): Remove unused variable. (do_initial_win32_stuff): Fix problem with inability to set breakpoints when first loading DLL with "dll" command. 2008-06-19 Pierre Muller * gnu-nat.c (proc_string): Use capital T for "Thread". 2008-06-19 Pierre Muller * win32-nat.c (win32_pid_to_str): Use capital T for "Thread". 2008-06-18 Joel Brobecker * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if the target cannot run. 2008-06-18 Joel Brobecker * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if we're attaching to a running process. 2008-06-18 Pierre Muller * win32-nat.c (handle_load_dll): Give dll name and load address if debug_events is on. (handle_unload_dll): Likewise. 2008-06-14 Vladimir Prus Don't suppress *running when doing finish. * infcall.c (call_function_by_hand): Set both suppress_resume_observer and suppress_stop_observer. * infcmd.c (suppress_run_stop_observers): Split into... (suppress_resume_observer, suppress_stop_observer): ...those. (finish_command_continuation): Clear suppress_stop_observer. (finish_command): Set suppress_stop_observer. * inferior.h (suppress_run_stop_observers): Split into... (suppress_resume_observer, suppress_stop_observer): ...those. * infrun.c (normal_stop): Check for suppress_stop_observer. * thread.c (set_running): Check for suppress_resume_observer. 2008-06-12 Pedro Alves Pierre Muller * gdbarch.sh (gdbarch_skip_main_prologue): New. * gdbarch.h, gdbarch.c: Regenerate. * i386-tdep.h (i386_skip_main_prologue): Declare. * i386-tdep.c (i386_skip_main_prologue): New. * i386-cygwin-tdep.c (i386_cygwin_init_abi): Register i386_skip_main_prologue as gdbarch_skip_main_prologue gdbarch callback. * symtab.c (find_function_start_sal): When pc points at the "main" function, call gdbarch_skip_main_prologue. 2008-06-11 Daniel Jacobowitz * value.c (value_primitive_field): Fetch lazy register values. 2008-06-11 Pedro Alves * NEWS: Mention support removal of undocumented S AA p PID stop reply packet. * remote.c (remote_wait): Remove undocumented S AA p PID support. 2008-06-10 Stan Shebs * MAINTAINERS: Update my affiliation and address. 2008-06-10 Andreas Schwab * top.c (print_gdb_version): Don't print final newline. 2008-06-10 Vladimir Prus Implement *running. * Makefile.in: Update dependencies. * gdbthread.h (struct thread_info): New field running_. (set_running, is_running): New. * thread.c (set_running, is_running): New. * inferior.h (suppress_normal_stop_observer): Rename to... (suppress_run_stop_observers): ..this. * infcmd.c (suppress_normal_stop_observer): Rename to... (suppress_run_stop_observers): ..this. (finish_command_continuation, finish_command): Adjust. * infcall.c (call_function_by_hand): Adjust. * infrun.c (normal_stop): Call set_running. * target.c (target_resume): New. Call set_running. * target.h (target_resume): Convert from macro to a function. * mi/mi-interp.c (mi_on_resume): New. (mi_interpreter_init): Register mi_on_resume. 2008-06-10 Vladimir Prus Use observers to report stop events in MI. * mi/mi-interp.c (mi_on_normal_stop): New. (mi_interpreter_init): Register mi_on_normal_stop. (mi_interpreter_exec_continuation): Remove. (mi_cmd_interpreter_exec): Don't register the above. * mi/mi-main.c (captured_mi_execute_command): Don't care about sync_execution. (mi_execute_async_cli_command): Don't install continuation. Don't print *stopped. (mi_exec_async_cli_cmd_continuation): Remove. 2008-06-10 Vladimir Prus Suppress normal stop observer when it's problematic. * inferior.h (suppress_normal_stop_observer): New. * infcall.c (call_function_by_hand): Disable stop events when doing function calls. * infmcd.c (suppress_normal_stop_observer): New. (finish_command_continuation): Call normal_stop observer explicitly. (finish_command): Disable stop events inside proceed. * infrun.c (normal_stop): Don't call normal stop observer if suppressed of if multi-step is in progress. 2008-06-10 Vladimir Prus Remove stale code. * infrun.c (finish_command): Don't pass cleanup to continuation. (finish_command_continuation): Don't grab cleanup from the passed data, as we don't use, and cannot, use it anyway. 2008-06-10 Vladimir Prus Introduce common cleanup for restoring integers. * defs.h (make_cleanup_restore_integer): New declaration. (struct cleanup): New field free_arg. (make_my_cleanup_2): New. * utils.c (restore_integer_closure, restore_integer) (make_cleanup_restore_integer): New. (make_my_cleanup): Initialize the free_arg field and renamed to make_my_cleanup_2. (do_my_cleanups): Call free_arg. (discard_cleanups): Call free_arg. * breakpoint.c (restore_always_inserted_mode): Remove. (update_breakpoints_after_exec): Use make_cleanup_restore_integer. 2008-06-09 Doug Evans * remote.c (remote_wait): Include beginning of malformed packet in error output. 2008-06-09 Tom Tromey * completer.c (complete_line): Don't special-case expression_completer. (expression_completer): Only pass last word to location_completer. * c-exp.y (yylex): Check 'token', not 'operator'. 2008-06-09 Daniel Jacobowitz * configure.ac (build_warnings): Add -Wno-format for mingw. * configure: Regenerated. 2008-06-07 Daniel Jacobowitz * NEWS: Make indentation consistent. Move exec tracing entry out of remote packet list. 2008-06-06 Tom Tromey * value.h (evaluate_subexpression_type, extract_field_op): Declare. * printcmd.c (_initialize_printcmd): Use expression_completer for 'p', 'inspect', 'call'. * parser-defs.h (parse_field_expression): Declare. * parse.c: Include exceptions.h. (in_parse_field, expout_last_struct): New globals. (mark_struct_expression): New function. (prefixify_expression): Return int. (prefixify_subexp): Return int. Use expout_last_struct. (parse_exp_1): Update. (parse_exp_in_context): Add 'out_subexp' argument. Handle in_parse_field. (parse_field_expression): New function. * expression.h (parse_field_expression): Declare. (in_parse_field): Likewise. * eval.c (evaluate_subexpression_type): New function. (extract_field_op): Likewise. * completer.h (expression_completer): Declare. * completer.c (expression_completer): New function. (count_struct_fields, add_struct_fields): New functions. * c-exp.y (yyparse): Redefine. (COMPLETE): New token. (exp): New productions. (saw_name_at_eof, last_was_structop): New globals. (yylex): Return COMPLETE when needed. Recognize in_parse_field. (c_parse): New function. * breakpoint.c (_initialize_breakpoint): Use expression_completer for watch, awatch, and rwatch. * Makefile.in (parse.o): Depend on exceptions_h. 2008-06-06 Paul Pluzhnikov PR gdb/1147 * gdb/valopts.c (find_overload_match): Handle references to pointers. 2008-06-06 Paul N. Hilfinger * ada-lang.c (ada_value_assign): Correct big-endian case to take into account the bitsize of the 'from' operand. 2008-06-06 Pedro Alves * annotate.h (annotate_thread_changed): Declare. 2008-06-06 Nick Roberts * annotate.c (annotate_thread_changed): New function. * thread.c (thread_command) : Use it. * infrun.c (normal_stop): Use it. 2008-06-05 Vladimir Prus Nathan Sidwell Joseph Myers * acinclude.m4: Include ../config/acx.m4. * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL. * configure, config.in: Regenerate. * main.c (print_gdb_help): Use REPORT_BUGS_TO for bug-reporting address. * top.c (print_gdb_version): Use PKGVERSION and REPORT_BUGS_TO. 2008-06-05 Pedro Alves Replace 'target async' by 'maintenance set remote-async' and 'target remote' combination. * remote.c (remote_async_wait): Merge into remote_wait, and remove. (remote_async_permitted, remote_async_permitted_set): New variables. (set_maintenance_remote_async_permitted) (show_maintenance_remote_async_permitted): New functions. (remote_async_ops, extended_async_remote_ops): Delete. (remote_async_open, extended_remote_async_open): Delete. (remote_open_1): Drop async_p parameter. Update callers. Replace async_p with remote_async_permitted checks. (extended_async_remote_attach): Delete. (remote_resume, remote_async_resume): Merge and leave remote_resume. (remote_async_terminal_inferior): Rename to... (remote_terminal_inferior): ... this, and add remote_async_termitted check. (remote_async_terminal_ours): Rename to... (remote_terminal_ours): ... this, and add remote_async_termitted check. (remote_wait, remote_async_wait): Merge and leave remote_wait only. (remote_kill, remote_async_kill): Merge and leave remote_kill only. (remote_async_mourn, extended_async_remote_mourn): Delete. (extended_remote_create_inferior_1): Drop async_p parameter. Update callers. Always use extended_remote_ops. (extended_remote_async_create_inferior): Delete. (remote_return_zero): Delete. (init_remote_ops): Register remote_can_async_p, remote_async, remote_async_mask, remote_terminal_inferior and remote_terminal_ours. (remote_can_async_p, remote_is_async_p): Check for remote_async_permitted. (init_remote_async_ops, init_extended_async_remote_ops): Remove. (set_remote_cmd): Don't add async and extended-async targets. (_initialize_remote): Add set/show remote-async maintenance commands. 2008-06-05 Pedro Alves * remote.c (kill_kludge): Delete. (remote_wait, remote_async_wait): Don't set it. (remote_kill, remote_async_kill): Don't do anything with it. 2008-06-05 Pedro Alves * linux-thread-db.c (thread_db_wait): Don't trim event ptid. 2008-06-05 Aleksandar Ristovski * bcache.c (bcache_data): Call deprecated_bcache_added function. (deprecated_bcache_added): New function name. Body of function bcache_data is used here with the addition of 'added' argument. * bcache.h (deprecated_bcache_added): New function. * symfile.c (add_psymbol_to_bcache): New helper function, takes part of work from add_psymbol_to_list - initialises partial symbol and stashes it in objfile's cache. (append_psymbol_to_list): New helper function, takes other part of work from add_psymbol_to_list - adds partial symbol to the given list. (add_psymbol_to_list): Call helper functions instead of doing work here. If adding to global list, do not duplicate partial symbols in the partial symtab. 2008-06-05 Aleksandar Ristovski * breakpoint.c (print_exception_catchpoint): Put 'exception' back to 'exception caught|thrown' message. 2008-06-05 Jan Kratochvil * Makefile.in: Update dependencies. * dwarf2expr.c: New include "gdb_assert.h". (new_dwarf_expr_context): Initialize MAX_RECURSION_DEPTH. (dwarf_expr_eval): Sanity check the RECURSION_DEPTH count. (execute_stack_op): Error out on too large RECURSION_DEPTH. Increase/decrease RECURSION_DEPTH around the function. 2008-06-05 Daniel Jacobowitz * remote.c (get_offsets): Handle a single segment. * symfile.c (symfile_map_offsets_to_segments): Allow more bases than segments. 2008-06-03 Daniel Jacobowitz * solib-svr4.c (struct lm_info): Add lm_addr. (main_lm_addr): New. (svr4_default_sos): Set lm_addr. (svr4_current_sos): Set lm_addr and main_lm_addr. (svr4_fetch_objfile_link_map): Rewrite. (svr4_clear_solib): Clear main_lm_addr. 2008-06-03 Michael Snyder Joseph Myers * mips-tdep.c (mips_eabi_return_value): Replace stub that always returned RETURN_VALUE_STRUCT_CONVENTION with a real function. 2008-06-02 Roman Zippel * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Fix incorrect test. 2008-06-02 Roman Zippel * m68k-tdep.c (m68k_analyze_prologue): Fix length of lea insn. 2008-06-01 Joel Brobecker * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Do not treat pointers in data space as function descriptors if the target address is also in the data space. 2008-05-30 Joel Brobecker * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set the trad-frame register value for the SP register. 2008-05-29 Mark Kettenis * sparcnbsd-tdep.c, sparcobsd-tdep.c: Update for unwinder changes. 2008-05-28 Joel Brobecker * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Improve the heuristic that identifies function descriptors outside of the .opd section. 2008-05-28 Aleksandar Ristovski * breakpoint.c (print_exception_catchpoint): In CLI add 'Temporary' for temporary catchpoints. In MI add missing fields 'reason', 'disp', 'bkptno'. (print_mention_exception_catchpoint): Add 'Temporary' for temporary catchpoints. (handle_gnu_v3_exceptions): Use tempflag. 2008-05-28 Vladimir Prus Refactor varobj_update interface. * varobj.c (varobj_update): Report changes as vector. Also return not just a list of varobj, but a list of special structures that tell what exactly has changed. * varobj.h (enum varobj_update_error): Rename to varobj_scope_status. (struct varobj_update_result_t): New. (varobj_update): Adjust prototype. * mi/mi-cmd-var.c: Adjust for changes. 2008-05-28 Vladimir Prus * varobj.c (varobj_update): Fix comment typo. Fix indentation. 2008-05-26 Joel Brobecker Set the symtab field of symbols read from ECOFF debugging entries. * mdebugread.c (add_symbol): Add new parameter symtab. (parse_symbol): Update calls to add_symbol throughout. 2008-05-27 Andreas Schwab * symtab.h (enum address_class): Remove LOC_REGPARM and LOC_COMPUTED_ARG. (struct symbol): Add is_argument. (SYMBOL_IS_ARGUMENT): Define. * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT. * buildsym.c (finish_block): Likewise. * stack.c (print_frame_args, print_block_frame_locals) (print_frame_arg_vars): Likewise. * symtab.c (lookup_block_symbol): Likewise. * tracepoint.c (add_local_symbols): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT. * dwarf2read.c (new_symbol): Likewise. * mdebugread.c (parse_symbol): Likewise. * stabsread.c (define_symbol): Likewise. * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM and LOC_COMPUTED_ARG. * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. * ax-gdb.c (gen_var_ref): Likewise. * eval.c (evaluate_subexp_for_address): Likewise. * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. * m2-exp.y (yylex): Likewise. * printcmd.c (address_info): Likewise. * symmisc.c (print_symbol, print_partial_symbols): Likewise. * tracepoint.c (collect_symbol, scope_info): Likewise. 2008-05-24 Carlos Eduardo Seo * gdbarch.sh: Added new gdbarch struct core_regset_sections. * gdbarch.c: Refreshed. * gdbarch.h: Refreshed. * regset.h (core_regset_section): Declared. * linux-nat.c (linux_nat_do_thread_registers): Added support for the new gdbarch struct core_regset_sections. * utils.c (host_address_to_string): New function. * defs.h (host_address_to_string): New prototype. * i386-linux-tdep.c (i386_regset_rections): New register sections list for i386. (i386_linux_init_abi): Initialized new gdbarch struct core_regset_sections. * Makefile.in: Updated to reflect dependency changes. * ppc-linux-tdep.c (ppc_regset_sections): Register sections list for ppc. (ppc_linux_init_abi): Initialized new gdbarch struct core_regset_sections 2008-05-24 Andreas Schwab * linespec.c (decode_objc): Save current language around call to get_selected_block. 2008-05-23 Joel Brobecker * valprint.h (get_array_bounds): Renames get_array_low_bound. * valprint.c (get_array_bounds): Renames get_array_low_bound. Return the proper bound value if the array index type is an enumerated type. Compute the high bound if requested. (val_print_array_elements): Handle the case when the array element has a null size. * ada-valprint.c (print_optional_low_bound): Add handling for empty arrays or arrays of zero-size elements. (ada_val_print_array): New function, extracted out from ada_val_print_1 case TYPE_CODE_ARRAY, and enhanced to handle empty arrays and arrays of zero-size elements. (ada_val_print_1)[case TYPE_CODE_ARRAY]: Replace extracted-out code by call to ada_val_print_array. (ada_value_print): Remove handling of null array. The handling was incomplete and is now better handled by ada_val_print_array. 2008-05-23 Markus Deuling * annotate.c (annotate_source, annotate_frame_begin): Replace deprecated_print_address_numeric with paddress. * cli/cli-cmds.c (list_command, edit_command): Likewise. * tui/tui-stack.c (tui_make_status_line): Likewise. * defs.h (deprecated_print_address_numeric): Remove. * printcmd.c (deprecated_print_address_numeric): Remove. * maint.c (maint_print_section_info): Fix comment. 2008-05-23 Markus Deuling * valprint.c (print_hex_chars, print_octal_chars, print_decimal_chars, print_binary_chars, print_char_chars): Add byte_order parameter and replace gdbarch_byte_order. (print_decimal_chars): Replace START_P, NOT_END_P and NEXT_P by their expressions and remove them. Remove unused TWO_TO_FOURTH. (val_print_type_code_int): Introduce gdbarch_byte_order to get at the endianness. Update call to print_hex_chars. * valprint.h (print_hex_chars, print_octal_chars, print_decimal_chars, print_binary_chars, print_char_chars): Add byte_order parameter. * printcmd.c (print_scalar_formatted): Introduce gdbarch_byte_order to get at the endianness. Update print_*_char calls to use byte_order. 2008-05-22 Ulrich Weigand * symtab.h (struct symbol): Make "aux_value" member a void pointer instead of a union. (SYMBOL_LOCATION_BATON): Update. 2008-05-22 Ulrich Weigand * symtab.h (enum address_class): Remove LOC_BASEREG and LOC_BASEREG_ARG. (struct symbol): Remove "basereg" member of "aux_value" union. (SYMBOL_BASEREG): Remove. * ada-exp.y (select_possible_type_sym): Do not handle LOC_BASEREG or LOC_BASEREG_ARG. * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. (ada_add_block_symbols): Likewise. * ax-gdb.c (gen_var_ref): Likewise. * buildsym.c (finish_block): Likewise. * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. * m2-exp.y (yylex): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * printcmd.c (address_info): Likewise. * stack.c (print_frame_args, print_block_frame_locals): Likewise. (print_frame_arg_vars): Likewise. * symmisc.c (print_symbol): Likewise. * symtab.c (lookup_block_symbol): Likewise. * tracepoint.c (collect_symbol, add_local_symbols): Likewise. (scope_info): Likewise. 2008-05-22 Ulrich Weigand * symtab.h (enum address_class): Remove LOC_LOCAL_ARG. * ada-exp.y (select_possible_type_sym): Do not handle LOC_LOCAL_ARG. * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. (ada_add_block_symbols): Likewise. * ax-gdb.c (gen_var_ref): Likewise. * buildsyms.c (finish_block): Likewise. * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. * m2-exp.y (yylex): Likewise. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * printcmd.c (address_info): Likewise. * stack.c (print_frame_args, print_frame_arg_vars): Likewise. * symmisc.c (print_symbol, print_partial_symbols): Likewise. * symtab.c (lookup_block_symbol): Likewise. * tracepoint.c (collect_symbol, add_local_symbols): Likewise. (scope_info): Likewise. 2008-05-22 Ulrich Weigand * symtab.h (enum address_class): Remove LOC_INDIRECT and LOC_HP_THREAD_LOCAL_STATIC. * findvar.c (symbol_read_needs_frame, read_var_value): Do not handle LOC_INDIRECT or LOC_HP_THREAD_LOCAL_STATIC. (read_var_value): Likewise. * buildsym.c (finish_block): Likewise. * objfiles.c (objfile_relocate): Likewise. * printcmd.c (address_info): Likewise. * symmisc.c (print_symbol, print_partial_symbols): Likewise. * tracepoint.c (scope_info): Likewise. 2008-05-21 Markus Deuling Maxim Grigoriev * xtensa-tdep.c (xtensa_read_register): Remove. (xtensa_frame_cache): Get rid of xtensa_read_register. Pass extra argument litbase to call0_frame_cache(). (call0_track_op, call0_analyze_prologue) (call0_frame_cache): Use extra argument litbase. 2008-05-21 Joel Brobecker * infcmd.c (_initialize_infcmd): Add new "fin" alias for "finish". 2008-05-21 Ulrich Weigand * frame.h (SIZEOF_FRAME_SAVED_REGS): Remove. 2008-05-21 Ulrich Weigand * alpha-mdebug-tdep.c: Include "trad-frame.h". (struct alpha_mdebug_unwind_cache): Change type of SAVED_REGS to struct trad_frame_saved_reg *. (alpha_mdebug_frame_unwind_cache): Allocate SAVED_REGS using trad_frame_alloc_saved_regs. Update accesses. Record previous value of SP as being vfp. (alpha_mdebug_frame_prev_register): Use trad_frame_get_prev_register. * Makefile.in (alpha-mdebug-tdep.o): Update dependencies. 2008-05-21 Markus Deuling * score-tdep.c (score_print_insn): Get the current endianess from disassemble_info instead of gdbarch_byte_order. 2008-05-21 Pedro Alves * frame.c (get_prev_frame_1): Build frame id before setting this_frame->prev_p, not after. 2008-05-21 Nick Roberts * annotate.c (annotate_new_thread): New function for new-thread annotation. * annotate.h: (annotate_new_thread): New extern. * thread.c (add_thread_with_info): Use it. * Makefile.in (thread.o): Add dependency on annotate.h. 2008-05-20 Joel Brobecker * win32-nat.c (win32_wait): Block the control-c event while waiting for a debug event. 2008-05-19 Pedro Alves * symtab.h (lookup_symbol_in_language): Update comment. * symtab.c (lookup_symbol_aux_block): Update comment. * ada-lang.c (ada_lookup_symbol_list): Update comment. 2008-05-19 Ulrich Weigand * symtab.h (lookup_symbol_in_language): Remove SYMTAB parameter. (lookup_symbol): Likewise. * symtab.c (lookup_symbol_in_language): Remove SYMTAB parameter. (lookup_symbol): Likewise. (search_symbols): Update. * linespec.c (find_methods, collect_methods): Update. (add_matching_methods, add_constructors): Update. (decode_compound, decode_dollar, decode_variable): Update. (lookup_prefix_sym): Update. (symbol_found): Remove SYM_SYMTAB parameter. Use SYMBOL_SYMTAB (sym) instead. * gdbtypes.c (lookup_typename): Update. (lookup_struct, lookup_union, lookup_enum): Update. (lookup_template_type): Update. (check_typedef): Update. * language.c (lang_bool_type): Update. * mdebugread.c (parse_procedure): Update. * mi/mi-cmd-stack.c (list_args_or_locals): Update. * parse.c (write_dollar_variable): Update. * printcmd.c (address_info): Update. * source.c (select_source_symtab): Update. * stack.c (print_frame_args, print_frame_arg_vars): Update. * valops.c (find_function_in_inferior): Update. (value_struct_elt_for_reference): Update. * value.c (value_static_field, value_fn_field): Update. * alpha-mdebug-tdep.c (find_proc_desc): Update. * arm-tdep.c (arm_skip_prologue): Update. * mt-tdep.c (mt_skip_prologue): Update. * xstormy16-tdep.c (xstormy16_skip_prologue): Update. * ada-lang.h (struct ada_symbol_info): Remove SYMTAB member. * ada-lang.c (ada_add_block_symbols): Remove SYMTAB parameter. (add_defn_to_vec): Likewise. (ada_add_block_symbols): Likewise. (lookup_cached_symbol, cache_symbol): Likewise. (standard_lookup): Update. (ada_lookup_symbol_list): Update. * c-valprint.c (c_val_print): Update. * cp-support.c (cp_lookup_rtti_type): Update. * jv-lang.c (java_lookup_class, get_java_object_type): Update. * objc-lang.c (lookup_struct_typedef, find_imps): Update. * p-valprint.c (pascal_val_print): Update. * scm-lang.c (scm_lookup_name): Update. * c-exp.y: Update. * f-exp.y: Update. * jv-exp.y: Update. * m2-exp.y: Update. * objc-exp.y: Update. * p-exp.y: Update. 2008-05-19 Ulrich Weigand * language.h (struct language_defn): Remove SYMTAB parameter from la_lookup_symbol_nonlocal callback function pointer. * ada-lang.h (ada_lookup_encoded_symbol): Remove SYMTAB parameter. (ada_lookup_encoded_symbol): Likewise. * ada-lang.c (ada_lookup_encoded_symbol): Remove SYMTAB parameter. Always call fixup_symbol_section. (ada_lookup_symbol): Remove SYMTAB parameter. (ada_lookup_symbol_nonlocal): Likewise. * ada-exp.y (write_object_renaming): Update. (find_primitive_type): Likewise. * cp-support.h (cp_lookup_symbol_nonlocal): Remove SYMTAB parameter. (cp_lookup_symbol_namespace): Likewise. * cp-namespace.c (lookup_namespace_scope): Remove SYMTAB parameter. (lookup_symbol_file): Likewise. (lookup_possible_namespace_symbol): Likewise. (cp_lookup_symbol_nonlocal): Likewise. (cp_lookup_symbol_namespace): Likewise. (cp_lookup_nested_type): Update. * scm-valprint.c (scm_inferior_print): Update. * valops.c (value_maybe_namespace_elt): Update. * solist.h (struct target_so_ops): Remove SYMTAB parameter from lookup_lib_global_symbol callback function pointer. (solib_global_lookup): Remove SYMTAB parameter. * solib.c (solib_global_lookup): Remove SYMTAB parameter. * solib-svr4.c (elf_lookup_lib_symbol): Likewise. * symtab.h (basic_lookup_symbol_nonlocal): Remove SYMTAB parameter. (lookup_symbol_static): Likewise. (lookup_symbol_global): Likewise. (lookup_symbol_aux_block): Likewise. (lookup_global_symbol_from_objfile): Likewise. * symtab.c (lookup_symbol_aux): Remove SYMTAB parameter. (lookup_symbol_aux_local): Likewise. (lookup_symbol_aux_block): Likewise. (lookup_symbol_aux_symtabs): Likewise. (lookup_symbol_aux_psymtabs): Likewise. (lookup_global_symbol_from_objfile): Likewise. (basic_lookup_symbol_nonlocal): Likewise. (lookup_symbol_static): Likewise. (lookup_symbol_global): Likewise. (lookup_symbol_in_language): Do not pass SYMTAB to lookup_symbol_aux. 2008-05-17 Pedro Alves * remote.c (init_extended_remote_ops): Fix typo. 2008-05-16 Pedro Alves * NEWS: Mention new DICOS x86 target configuration. 2008-05-16 Pedro Alves Ulrich Weigand * minsyms.c (lookup_minimal_symbol_by_pc_name): New function. * symtab.h (lookup_minimal_symbol_by_pc_name): Add prototype. * symtab.c (fixup_section): Remove prototype. Add ADDR parameter; use it instead of ginfo->value.address. Look up minimal symbol by address and name. Assume OBJFILE is non-NULL. (fixup_symbol_section): Ensure we always have an objfile to look into. Extract and pass to fixup_section the symbol's address that will match the minimal symbol's address. (fixup_psymbol_section): Likewise. (find_pc_sect_psymtab): Fall back to non-addrmap case when debugging overlays and the addrmap returned the wrong section. * dwarf2read.c (var_decode_location): Set SYMBOL_CLASS before calling fixup_symbol_section. 2008-05-16 Ulrich Weigand * minsyms.c: Include "target.h". (find_solib_trampoline_target): Handle minimal symbols pointing to function descriptors as well. * Makefile.in (minsyms.o): Update dependencies. * ppc-linux-tdep.c (ppc64_standard_linkage): Rename to ... (ppc64_standard_linkage1): ... this. Fix optional instructions. (PPC64_STANDARD_LINKAGE_LEN): Rename to ... (PPC64_STANDARD_LINKAGE1_LEN): ... this. (ppc64_standard_linkage2, ppc64_standard_linkage3): New. (PPC64_STANDARD_LINKAGE2_LEN, PPC64_STANDARD_LINKAGE3_LEN): New. (ppc64_standard_linkage_target): Rename to ... (ppc64_standard_linkage1_target): ... this. (ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): New. (ppc64_skip_trampoline_code): Support three variants of standard linkage stubs. Call find_solib_trampoline_target to handle glink stubs. 2008-05-16 Ulrich Weigand * ppc-linux-tdep.c (ppc_linux_init_abi): Do not install ppc64_sysv_abi_adjust_breakpoint_address. * ppc-sysv-tdep.c (ppc64_sysv_abi_adjust_breakpoint_address): Remove. * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Remove. 2008-05-16 Ulrich Weigand * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Remove. (ppc_linux_init_abi): Install find_solib_trampoline_target instead of ppc_linux_skip_trampoline_code. 2008-05-15 Daniel Jacobowitz * gdbarch.sh: Delete dwarf_reg_to_regnum. * gdbarch.c, gdbarch.h: Regenerated. * amd64-tdep.c, arm-tdep.c, h8300-tdep.c, hppa-linux-tdep.c, hppa-tdep.c, i386-tdep.c, m32c-tdep.c, m68k-tdep.c, mips-tdep.c, s390-tdep.c, xtensa-tdep.c: Do not set dwarf_reg_to_regnum. 2008-05-15 Pedro Alves * linux-nat.c (trap_ptid): Delete. (linux_nat_detach, linux_nat_wait, linux_nat_mourn_inferior): Adjust. * linux-thread-db.c (thread_db_wait): Adjust. 2008-05-15 Joel Brobecker * linespec.c (decode_line_1): Fix a couple of comments. 2008-05-15 Alan Modra * dbxread.c: Formatting. (INTERNALIZE_SYMBOL): Init n_other. (set_namestring): Take pointer to nlist arg rather than struct copy. Update all callers. 2008-05-15 Andreas Schwab * Makefile.in (dwarf2loc.o): Remove $(addrmap_h). (dwarf2read.o): Add $(addrmap_h). 2008-05-14 Ulrich Weigand * ppc-linux-tdep.c (ppc_linux_convert_from_func_ptr_addr): Rename ... (ppc64_linux_convert_from_func_ptr_addr): ... to this. No longer try to handle ppc32 PLT entries. (ppc_linux_init_abi): Install ppc64_linux_convert_from_func_ptr_addr only on ppc64. 2008-05-14 Daniel Jacobowitz * elfread.c (elf_symtab_read): Create trampolines for @plt symbols. * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Renamed from lookup_minimal_symbol_by_pc_section. Prefer trampolines if requested. (lookup_minimal_symbol_by_pc_section): Use lookup_minimal_symbol_by_pc_section_1. (lookup_solib_trampoline_symbol_by_pc): Likewise. 2008-05-13 Joel Brobecker * findcmd.c: Add #include "gdb_stdint.h". * Makefile.in (findcmd.o): Update dependencies. 2008-05-11 David S. Miller * sparc-linux-tdep.c (sparc32_linux_init_abi): Remove long double size override, Linux does use 128-bit now. * sparc-linux-tdep.c (PSR_SYSCALL): Define. (sparc_linux_write_pc): New function. (sparc32_linux_init_abi): Register it. * sparc64-linux-tdep.c (TSTATE_SYSCALL): Define. (sparc64_linux_write_pc): New function. (sparc64_linux_init_abi): Register it. * sparc-linux-tdep.c, sparc64-linux-tdep.c: Use dwarf2_append_unwinders(), not dwarf2_frame_sniffer. 2008-05-11 Ulrich Weigand * rs6000-tdep.c (rs6000_gdbarch_init): Set up info.target_desc and info.tdep_info before calling gdbarch_init_osabi. 2008-05-09 Joel Brobecker * ada-lang.c (ada_evaluate_subexp) [BINOP_ASSIGN]: Do not force the type of the right hand side of the assignment to the type of the left hand side if the left hand side is a convenience variable. 2008-05-09 Ulrich Weigand * NEWS: Mention gdbserver bi-arch capability. 2008-05-09 Doug Evans New "find" command. * NEWS: Document find command and qSearch:memory packet. * Makefile.in (SFILES): Add findcmd.c. (COMMON_OBJS): Add findcmd.o. (findcmd.o): New rule. * findcmd.c: New file. * target.h (target_ops): New member to_search_memory. (simple_search_memory): Declare. (target_search_memory): Declare. * target.c (simple_search_memory): New fn. (target_search_memory): New fn. * remote.c (PACKET_qSearch_memory): New packet kind. (remote_search_memory): New fn. (init_remote_ops): Init to_search_memory. (init_extended_remote_ops): Ditto. (_initialize_remote): Add qSearch:memory packet config command. 2008-05-09 Eli Zaretskii * thread.c (_initialize_thread): Don't use commas and periods in first line of doc string of "set/show print thread-events". 2008-05-08 Joel Brobecker * alpha-mdebug-tdep.c, alpha-osf1-tdep.c, alpha-tdep.c: Update for unwinder changes. 2008-05-08 Joel Brobecker * frame.c (get_frame_base_address, get_frame_locals_address) (get_frame_args_address): Pass the correct frame when calling frame_base_find_by_frame. 2008-05-08 Ulrich Weigand * remote.c (extended_remote_attach_1): Call target_find_description. 2008-05-08 Daniel Jacobowitz * remote.c (extended_remote_create_inferior_1): Clean up before marking the target running. 2008-05-08 Joel Brobecker * hppa-tdep.h, hppa-tdep.c, hppa-hpux-tdep.c: Update for unwinder changes. 2008-05-07 Joel Brobecker * sparc-tdep.c, sparc-tdep.h, sparc-sol2-tdep.c, sparc64-tdep.c, sparc64-sol2-tdep.c: Update for unwinder changes. 2008-05-07 Daniel Jacobowitz * cp-support.c (mangled_name_to_comp): Initialize storage. (unqualified_name_from_comp): Likewise. 2008-05-07 Jie Zhang * remote.c (remote_insert_breakpoint): Call get_remote_state after gdbarch_breakpoint_from_pc is called. (remote_insert_hw_breakpoint): Likewise. 2008-05-06 Joel Brobecker * valprint.c (val_print): Add new language parameter and use it instead of using the current_language. Update calls to val_print throughout. (common_val_print): Add new langauge parameter and pass it to val_print. * value.h (struct language_defn): Add opaque declaration. (val_print, common_val_print): Update declarations. * stack.c (print_frame_args): Update call to common_val_print using the appropriate language. * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. * c-valprint, f-valprint.c, m2-valprint.c, mt-tdep.c, infcmd.c, mi/mi-main.c, jv-valprint.c, ada-valprint.c, varobj.c, p-valprint.c, scm-valprint.c, cp-valprint.c, sh64-tdep.c, printcmd.c: #include "language.h" if necessary. Update calls to val_print and common_val_print. * Makefile.in (mt-tdep.o, sh64-tdep.o, mi-cmds.o, mi-main.o): Update dependencies. 2008-05-06 Joel Brobecker * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Treat addresses pointing inside a non-executable section as function descriptors. 2008-05-06 Pedro Alves * inf-loop.c (inferior_event_handler): Run all continuations and print any language change before running the breakpoint commands. 2008-05-06 Joel Brobecker * frame-unwind.c (frame_unwind_got_bytes): New function. * frame-unwind.h (frame_unwind_got_bytes): Add declaration. * libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update for unwinder changes. 2008-05-05 Doug Evans * NEWS: Mention new /m modifier for disassemble command. * cli/cli-cmds.c (print_disassembly): New function. (disassemble_current_function): New function (disassemble_command): Recognize /m modifier, print mixed source+assembly. (init_cli_cmds): Update disassemble help text. 2008-05-05 Maxim Grigoriev * xtensa-tdep.c: Update for unwinder changes. 2008-05-05 Andreas Schwab Update m68k port for unwinder changes. * m68k-tdep.c (m68k_frame_cache): Expect this_frame. (m68k_frame_this_id, m68k_frame_prev_register): Update signature. (m68k_frame_unwind): Use default_frame_sniffer. (m68k_frame_sniffer): Remove. (m68k_frame_base_address): Expect this_frame. (m68k_dummy_id): Renamed from m68k_unwind_dummy_id. Expect this_frame. (m68k_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders, and frame_unwind_append_unwinder. * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Expect frame_info parameter instead of pc value. (m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache): Expect this_frame. (m68k_linux_sigtramp_frame_this_id) (m68k_linux_sigtramp_frame_prev_register) (m68k_linux_sigtramp_frame_sniffer): Update signature. (m68k_linux_sigtramp_frame_unwind): Use m68k_linux_sigtramp_frame_sniffer. (m68k_linux_init_abi): Use frame_unwind_append_unwinder. * m68klinux-nat.c (store_register): Fix typo. 2008-05-05 Pedro Alves * infcmd.c (step_1): Put thread id on the stack to avoid possible NULL dereferencing. 2008-05-05 Luis Machado * symfile.c (reread_symbols): Update objfile's entry point. 2008-05-05 Aleksandar Ristovski Joel Brobecker * ada-lang.c: Update throughout to use symbol_matches_domain instead of matching the symbol domain explictly. * dwarf2read.c (add_partial_symbol): Do not add new psym for STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada class as typedefs. See lookup_partial_symbol function. (new_symbol): Similar to add_partial_symbol, do not create symbol for the typedef. See lookup_block_symbol. * symtab.c (symbol_matches_domain): New function, takes care of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java. (lookup_partial_symbol): Use symbol_matches_domain to see if the found psym domain matches the given domain. (lookup_block_symbol): Likewise. 2008-05-05 Vladimir Prus * top.c (command_line_handler_continuation): Remove. (execute_command): Do not install the above. 2008-05-05 Vladimir Prus * inf-loop.c (inferior_event_handler): Call bpstat_do_action, and catch all exceptions from it. * top.c (command_line_handler_continuation): Don't call bpstat_do_action here. 2008-05-04 Daniel Jacobowitz * dwarf2read.c (struct dwarf2_cu): Add type_hash. (struct die_info): Remove type. (read_type_die, read_typedef, read_base_type, read_subrange_type) (read_structure_type, read_enumeration_type, read_array_type) (read_tag_pointer_type, read_tag_ptr_to_member_type) (read_tag_reference_type, read_tag_const_type, read_tag_volatile_type) (read_tag_string_type, read_subroutine_type, read_set_type) (read_unspecified_type): Delete prototypes. Remove check for already-loaded type. Return the new type. (set_die_type): Return the new type. (reset_die_and_siblings_types): Delete. (load_comp_unit, load_full_comp_unit): Set type_hash. (process_queue): Remove call to reset_die_and_siblings_types. (process_die): Do not read most types here. Use read_type_die for others. (read_func_scope, dwarf2_add_member_fn): Use read_type_die. (quirk_gcc_member_function_pointer): Return the new type. (process_structure_scope, process_enumeration_scope): Use get_die_type and read the DIE's type. (read_full_die): Do not initialize die->type. (tag_type_to_type): Use read_type_die. (read_type_die): Check for already defined types. Return the type. (determine_prefix): Use get_die_type. (set_die_type): Return the type. (get_die_type): Take a CU argument. Check for no type_hash. 2008-05-04 Daniel Jacobowitz * dwarf2read.c (dwarf2_ranges_read, read_partial_die): Initialize locals. 2008-05-04 Pedro Alves * breakpoint.c (update_breakpoints_after_exec): Delete bp_longjmp and bp_longjmp_resume breakpoints. (breakpoint_address_is_meaningful): Claim bp_longjmp_resume as meaningful. (create_longjmp_breakpoint): Don't create bp_longjmp_resume breakpoints. Create bp_longjmp breakpoints as momentary breakpoints. (enable_longjmp_breakpoint): Delete. (set_longjmp_breakpoint): New. (disable_longjmp_breakpoint): Delete. (delete_longjmp_breakpoint): New. (set_longjmp_resume_breakpoint): Delete. (set_momentary_breakpoint_at_pc): New. (breakpoint_re_set_one): Don't delete bp_longjmp and bp_longjmp_resume breakpoints. (breakpoint_re_set): Don't create longjmp and longjmp-resume breakpoints. * infrun.c (step_resume_breakpoint): Add comment. (struct execution_control_state): Delete handling_longjmp member. (init_execution_control_state). Don't clear handling_longjmp. (context_switch): Don't context switch handling_longjmp. (handle_inferior_event): If handling a bp_longjmp breakpoint, create a bp_longjmp_resume breakpoint, and set it as current step_resume_breakpoint, then step over the longjmp breakpoint. If handling a bp_longjmp_resume breakpoint, don't delete the longjmp breakpoint, delete the longjmp-resume breakpoint, and stop stepping. (currently_stepping): Remove handling_longjmp from expression. (insert_step_resume_breakpoint_at_sal): Update comment. (insert_longjmp_resume_breakpoint): New. * breakpoint.h (set_momentary_breakpoint_at_pc): Declare. (enable_longjmp_breakpoint, disable_longjmp_breakpoint): Delete declarations. (set_longjmp_breakpoint, delete_longjmp_breakpoint): Declare. (set_longjmp_resume_breakpoint): Delete declaration. * gdbthread.h (save_infrun_state): Remove handling_longjmp parameter. (load_infrun_state): Delete *handling_longjmp parameter. * thread.c (save_infrun_state): Remove handling_longjmp parameter. Update body. (load_infrun_state): Delete *handling_longjmp parameter. Update body. * infcmd.c (disable_longjmp_breakpoint_cleanup): Delete. (delete_longjmp_breakpoint_cleanup): New. (step_1): Call set_longjmp_breakpoint instead of enable_longjmp_breakpoint. Use delete_longjmp_breakpoint_cleanup instead of disable_longjmp_breakpoint_cleanup when making cleanup. (step_1_continuation): Pass thread id in the continuation args to step_once. (step_once): Add thread parameter. Pass thread id the the continuation. 2008-05-04 Jan Kratochvil Set CU BASE_ADDRESS already from partial DIEs. * dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and BASE_ADDRESS_TYPE. Set these variables from DW_AT_LOW_PC and DW_AT_ENTRY_PC. Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS from these variables if it was still unset. * Makefile.in: Update dependencies. * dwarf2read.c: Include "addrmap.h" (struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET. (dwarf2_ranges_read): New prototype. (dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP. Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on HAS_RANGES_OFFSET, otherwise add there the contiguous range. (dwarf2_ranges_read): New parameter RANGES_PST, update the function comment for it. Add the found ranges to RANGES_PST. New variable BASEADDR, initialize it the common way. (dwarf2_get_pc_bounds): Update the caller for the new parameter. (read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and HAS_RANGES_OFFSET for the later processing. * objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP. * symtab.c: Include "addrmap.h" (find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP. Move the psymtab locator into ... (find_pc_sect_psymtab_closer): ... a new function. 2008-05-04 Ulrich Weigand * arch-utils.c (gdbarch_update_p): Use default values for info.abfd and info.target_desc if they are NULL. (gdbarch_from_bfd): Remove assertion. (set_gdbarch_from_file): Call gdbarch_find_by_info directly, using the current target description. (gdbarch_info_fill): Do not use default values for info->abfd and info->target_desc. 2008-05-04 Jan Kratochvil * symfile.c (reread_symbols): Reload EXEC_BFD on its change. 2008-05-04 Ulrich Weigand * inferior.h (read_pc_pid, write_pc_pid): Remove. * regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes. * regcache.c (read_pc_pid): Remove, replace by ... (regcache_read_pc): ... this function. (write_pc_pid): Remove, replace by ... (regcache_write_pc): ... this function. (read_pc, write_pc): Update. * infrun.c (displaced_step_prepare): Replace read_pc_pid and write_pc_pid by regcache_read_pc and regcache_write_pc. (displaced_step_fixup): Likewise. (resume): Likewise. Use regcache arch instead of current_gdbarch. (prepare_to_proceed): Likewise. (proceed): Likewise. (adjust_pc_after_break): Likewise. (handle_inferior_event): Likewise. * linux-nat.c (cancel_breakpoint): Likewise. * linux-thread-db.c (check_event): Likewise. * aix-thread.c (aix_thread_wait): Likewise. * tracepoint.c (trace_dump_command): Likewise. 2008-05-04 Jan Kratochvil * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing SYMBOL_LOCATION_BATON. 2008-05-04 Vladimir Prus * target.h (struct target_ops): New field to_auxv_parse. * auxv.c (default_auxv_parse): New, renamed from previous target_auxv_parse. (target_auxv_parse): Try to call target method. Fallback to default_auxv_parse if not found. * procfs.c (procfs_auxv_parse): New. (init_procfs_ops): On Solaris, in 64-bit mode, install procfs_auxv_parse. 2008-05-03 Adam Nemet * symfile.c (add_symbol_file_command): Use paddress rather than hex_string to print the address. 2008-05-03 Ulrich Weigand * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0, return the null frame ID to terminate the backtrace. 2008-05-03 Ulrich Weigand * rs6000-tdep.c: Do not include "rs6000-tdep.h". (rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c. (SIG_FRAME_PC_OFFSET): Likewise. (SIG_FRAME_LR_OFFSET): Likewise. (SIG_FRAME_FP_OFFSET): Likewise. (rs6000_push_dummy_call): Likewise. (rs6000_return_value): Likewise. (rs6000_convert_from_func_ptr_addr): Likewise. (branch_dest, rs6000_software_single_step): Likewise. (deal_with_atomic_sequence): Rename to ... (ppc_deal_with_atomic_sequence): ... this. Adapt all callers. Do not call branch_dest; inline required parts of that function. (rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME with SYMBOL_LINKAGE_NAME. (struct reg, regsize): Delete. (read_memory_addr): Delete; inline into callers. (rs6000_skip_prologue): Move after skip_prologue. (skip_prologue): Remove prototype. (rs6000_gdbarch_init): Remove sysv_abi variable; perform all initialization as if this variable were true. Do not install ppc64_sysv_abi_adjust_breakpoint_address. * rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h", "gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h", and "breakpoint.h". (rs6000_find_toc_address_hook): Move here from rs6000-tdep.c. (SIG_FRAME_PC_OFFSET): Likewise. (SIG_FRAME_LR_OFFSET): Likewise. (SIG_FRAME_FP_OFFSET): Likewise. (rs6000_push_dummy_call): Likewise. (rs6000_return_value): Likewise. (rs6000_convert_from_func_ptr_addr): Likewise. (branch_dest, rs6000_software_single_step): Likewise. Replace tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE. (rs6000_aix_init_osabi): Install rs6000_push_dummy_call, rs6000_return_value, and rs6000_convert_from_func_ptr_addr. Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size. Set tdep->lr_frame_offset. Do not set tdep->text_segment_base. * rs6000-tdep.h (rs6000_software_single_step): Remove prototype. (AIX_TEXT_SEGMENT_BASE): New macro. * rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE. * ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype. (struct gdbarch_tdep): Remove text_segment_base member. * ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install ppc64_sysv_abi_adjust_breakpoint_address. * Makefile.in (rs6000-tdep.o): Update dependencies. (rs6000-aix-tdep.o): Likewise. 2008-05-03 Luis Machado Thiago Jung Bauermann * cli/cli-decode.c (lookup_cmd_1): Fix indentation. * doublest.c (convert_typed_floating): Fix typo in comment. * dwarf2-frame.c (dwarf2_frame_cache): Likewise. * frame-unwind.h (frame_sniffer_ftype): Likewise. * frame.c (frame_unwind_address_in_block): Likewise. * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise. * symtab.h (struct symbol): Likewise. * tramp-frame.h (struct trad_frame_cache): Likewise. * value.c (allocate_repeat_value): Likewise. 2008-05-03 Ulrich Weigand * infrun.c (handle_inferior_event): Do not insert breakpoints at TARGET_WAITKIND_LOADED events during startup (i.e. in the shell). 2008-05-03 Pedro Alves * parse.c (parse_exp_in_context): Don't override expression_context_pc if get_selected_block returned a valid block. 2008-05-03 Daniel Jacobowitz * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete. * arm-tdep.h (STATUS_REGISTER_SIZE): Delete. * breakpoint.c (args_for_catchpoint_enable, current_exception_event): Delete. * c-typeprint.c (c_type_print_base): Delete handling of template instantiations. * cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET) (METHOD_PTR_TO_VOFFSET): Delete. * defs.h (QUIT_FIXME): Delete. * f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77) (DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete. * gdbtypes.h (struct cplus_struct_type): Delete is_inlined, ninstantiations, and instantiations. (TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION) (TYPE_FN_FIELD_INLINED): Delete. * srec.h (SREC_BINARY): Delete. * symtab.c (symbol_init_demangled_name): Delete. * symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name) (SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND) (CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE) (CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC) (CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE) (CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete. * target.h (enum thread_control_capabilities): Delete tc_switch. (target_can_switch_threads): Delete. 2008-05-03 Daniel Jacobowitz * Makefile.in (objfiles.o): Update. * exec.c (exec_set_section_address): Support p->addr != 0. * objfiles.c (objfile_relocate): Update exec_ops section addresses. * symfile.c (place_section): Move exec_set_section_address call... (default_symfile_offsets): ...to here. 2008-05-03 Ulrich Weigand * Makefile.in (ppc_linux_tdep_h): New macro. (powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise. (powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise. (powerpc_e500l_c): Likewise. (ppc-linux-nat.o): Update dependencies. (ppc-linux-tdep.o): Update dependencies. (rs6000-tdep.o): Update dependencies. * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove. (ppc_linux_svr4_fetch_link_map_offsets): Remove. (ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h (ppc_supply_reg, ppc_collect_reg): Add prototypes. (tdesc_powerpc_e500): Remove. * rs6000.c: Include "features/rs6000/powerpc-altivec32.c" and "features/rs6000/powerpc-altivec64.c". (ppc_supply_reg, ppc_collect_reg): Make global. (variants): Use tdesc_powerpc_32 for "powerpc" and tdesc_powerpc_altivec64 for "powerpc64". (_initialize_rs6000_tdep): Initialize AltiVec descriptions. * ppc-linux-tdep.h: New file. * ppc-linux-tdep.c: Include "ppc-linux-tdep.c". Include "features/rs6000/powerpc-32l.c". Include "features/rs6000/powerpc-altivec32l.c". Include "features/rs6000/powerpc-64l.c". Include "features/rs6000/powerpc-altivec64l.c". Include "features/rs6000/powerpc-e500l.c". (ppc_linux_supply_gregset): New function. (ppc_linux_collect_gregset): Handle orig_r3 and trap registers. (ppc32_linux_gregset): Use ppc_linux_supply_gregset. (ppc64_linux_gregset): Likewise. (ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers. (ppc_linux_trap_reg_p): New function. (ppc_linux_write_pc): New function. (ppc_linux_core_read_description): New function. (ppc_linux_init_abi): Install ppc_linux_write_pc and ppc_linux_core_read_description. Install orig_r3 and trap registers if present in the target description. (_initialize_ppc_linux_tdep): Initialize Linux target descriptions. * ppc-linux-nat.c: Include "ppc-linux-tdep.h". (PT_ORIG_R3, PT_TRAP): Define if necessary. (ppc_register_u_addr): Handle orig_r3 and trap registers. (fetch_ppc_registers): Likewise. (store_ppc_registers): Likewise. (store_register): Likewise. (ppc_linux_read_description): Check whether AltiVec is supported. Check whether inferior is 32-bit or 64-bit. Return the appropriate Linux target description. * features/Makefile (WHICH): Use rs6000/powerpc-32l and rs6000/powerpc-altivec32l instead of rs6000/powerpc-32. Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead of rs6000/powerpc-64. Use rs6000/powerpc-e500l instead of rs6000/powerpc-e500. Update -expedite variables accordingly. * features/rs6000/power-spe.xml: Use regnum 73 for "acc". * features/rs6000/powerpc-32.xml: Do not include power-altivec.xml. * features/rs6000/powerpc-64.xml: Do not include power-altivec.xml. * features/rs6000/powerpc-e500.c: Regenerate. * features/rs6000/powerpc-32.c: Regenerate. * features/rs6000/powerpc-64.c: Regenerate. * features/rs6000/power-linux.xml: New file. * features/rs6000/power64-linux.xml: New file. * features/rs6000/powerpc-32l.xml: New file. * features/rs6000/powerpc-altivec32l.xml: New file. * features/rs6000/powerpc-64l.xml: New file. * features/rs6000/powerpc-altivec64l.xml: New file. * features/rs6000/powerpc-e500l.xml: New file. * features/rs6000/powerpc-32l.c: New (generated) file. * features/rs6000/powerpc-altivec32l.c: New (generated) file. * features/rs6000/powerpc-64l.c: New (generated) file. * features/rs6000/powerpc-altivec64l.c: New (generated) file. * features/rs6000/powerpc-e500l.xml: New (generated) file. * regformats/reg-ppc.dat: Remove. * regformats/reg-ppc64.dat: Remove. * regformats/rs6000/powerpc-32.dat: Remove. * regformats/rs6000/powerpc-64.dat: Remove. * regformats/rs6000/powerpc-e500.dat: Remove. * regformats/rs6000/powerpc-32l.dat: New (generated) file. * regformats/rs6000/powerpc-altivec32l.dat: New (generated) file. * regformats/rs6000/powerpc-64l.dat: New (generated) file. * regformats/rs6000/powerpc-altivec64l.dat: New (generated) file. * regformats/rs6000/powerpc-e500l.dat: New (generated) file. 2008-05-03 Pedro Alves * thread.c (delete_thread): Call observer_notify_thread_exit. * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as thread_exit observer. (mi_thread_exit): New. 2008-05-03 Thiago Jung Bauermann * breakpoint.c (create_exception_catchpoint): Remove prototype for already deleted function. * breakpoint.h (ep_is_exception_catchpoint): Likewise. * frame.h (show_stack_frame): Remove prototype. * stack.c (show_stack_frame): Remove empty, unused function. * source.c (symtab_to_fullname, print_source_lines): Small fix in comment. * value.c (show_values): Update comments to mention "show values" command instead of "info history". 2008-05-02 Ulrich Weigand * linespec.c: Include "target.h". (minsym_found): Handle minimal symbols pointing to function descriptors. Use find_function_start_pc. * minsyms.c (msymbol_objfile): New function. * parse.c (write_exp_msymbol): Handle minimal symbols pointing to function descriptors. * symtab.c (fixup_section): Only use minimal symbol at the same address to determine section of a symbol. (find_function_start_pc): New function. (find_function_start_sal): Use it. * symtab.h (msymbol_objfile): Add prototype. (find_function_start_pc): Likewise. * value.c: Include "objfiles.h". (value_fn_field): Handle minimal symbols pointing to function descriptors. * Makefile.in (linespec.o): Update dependencies. (value.o): Likewise. 2008-05-02 Joel Brobecker * ada-lang.c (unwrap_value): Handle the case where the "F" field inside a PAD type is a bitfield. 2008-05-02 Ulrich Weigand * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT. Handle TYPE_CODE_REF the same as TYPE_CODE_PTR. Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC. Allow typedefs when checking for function pointer arguments. Right-align small structs passed on the stack. (ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT. Handle TYPE_CODE_REF the same as TYPE_CODE_PTR. 2008-05-02 Daniel Jacobowitz * Makefile.in (arm-tdep.o): Update. * arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol) (struct arm_per_objfile, arm_compare_mapping_symbols): New. (arm_pc_is_thumb): Use mapping symbols. (arm_objfile_data_cleanup, arm_record_special_symbol): New. (arm_gdbarch_init): Call set_gdbarch_record_special_symbol. (_initialize_arm_tdep): Initialize arm_objfile_data_key. * elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol. * gdbarch.sh: Add record_special_symbol. * gdbarch.c, gdbarch.h: Regenerated. * objfiles.c (struct objfile_data): Add cleanup member. (register_objfile_data_with_cleanup): New function, from register_objfile_data. (register_objfile_data): Use it. (objfile_free_data): Call clear_objfile_data. (clear_objfile_data): Call cleanup functions. * objfiles.h (register_objfile_data_with_cleanup): Declare. 2008-05-02 Daniel Jacobowitz * objfiles.c (init_entry_point_info): Handle shared libraries. 2008-05-02 Daniel Jacobowitz * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to lowest_pc. 2008-05-02 Jim Blandy Pedro Alves Implement displaced stepping. * gdbarch.sh (max_insn_length): New 'variable'. (displaced_step_copy, displaced_step_fixup) (displaced_step_free_closure, displaced_step_location): New functions. (struct displaced_step_closure): Add forward declaration. * gdbarch.c, gdbarch.h: Regenerated. * arch-utils.c: #include "objfiles.h". (simple_displaced_step_copy_insn) (simple_displaced_step_free_closure) (displaced_step_at_entry_point): New functions. * arch-utils.h (simple_displaced_step_copy_insn) (simple_displaced_step_free_closure) (displaced_step_at_entry_point): New prototypes. * i386-tdep.c (I386_MAX_INSN_LEN): Rename to... (I386_MAX_MATCHED_INSN_LEN): ... this. (i386_absolute_jmp_p, i386_absolute_call_p) (i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p) (i386_displaced_step_fixup): New functions. (struct i386_insn, i386_match_insn): Update. (i386_gdbarch_init): Set gdbarch_max_insn_length. * i386-tdep.h (I386_MAX_INSN_LEN): New. (i386_displaced_step_fixup): New prototype. * i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h". Register gdbarch_displaced_step_copy, gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure, and gdbarch_displaced_step_location functions. * infrun.c (debug_displaced): New variable. (show_debug_displaced): New function. (struct displaced_step_request): New struct. (displaced_step_request_queue, displaced_step_ptid) (displaced_step_gdbarch, displaced_step_closure) (displaced_step_original, displaced_step_copy) (displaced_step_saved_copy, can_use_displaced_stepping): New variables. (show_can_use_displaced_stepping, use_displaced_stepping) (displaced_step_clear, cleanup_displaced_step_closure) (displaced_step_dump_bytes, displaced_step_prepare) (displaced_step_clear_cleanup, write_memory_ptid) (displaced_step_fixup): New functions. (resume): Call displaced_step_prepare. (proceed): Call read_pc once, and remember the value. If using displaced stepping, don't remove breakpoints. (handle_inferior_event): Call displaced_step_fixup. Add some debugging output. When we try to step over a breakpoint, but get a signal to deliver to the thread instead, ensure the step-resume breakpoint is actually inserted. If a thread hop is needed, and displaced stepping is enabled, don't remove breakpoints. (init_wait_for_inferior): Call displaced_step_clear. (_initialize_infrun): Add "set debug displaced" command. Add "maint set can-use-displaced-stepping" command. Clear displaced_step_ptid. * inferior.h (debug_displaced): Declare variable. (displaced_step_dump_bytes): Declare function. * Makefile.in (arch-utils.o, i386-linux-tdep.o): Update dependencies. 2008-05-02 Daniel Jacobowitz * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string) (arm_force_mode_string, arm_show_fallback_mode) (arm_show_force_mode): New. (arm_pc_is_thumb): Honor fallback-mode and force-mode. Use arm_frame_is_thumb. (_initialize_arm_tdep): Add "set arm fallback-mode" and "set arm force-mode". * NEWS: Document new commands. 2008-05-02 Andrew Stubbs * main.h (batch_silent): Declare. * event-top.c: Include main.h. (gdb_setup_readline): Remove extern batch_silent declaration. * infrun.c (normal_stop): Don't print source location when running in --batch-silent mode. * Makefile.in (event-top.o): Add main.h dependency. 2008-05-02 Andreas Schwab * target.h (struct target_ops): Add to_watchpoint_addr_within_range. (target_watchpoint_addr_within_range): New function. * target.c (update_current_target): Inherit to_watchpoint_addr_within_range, defaulting to default_watchpoint_addr_within_range. (default_watchpoint_addr_within_range): New function. (debug_to_watchpoint_addr_within_range): New function. (setup_target_debug): Set to_watchpoint_addr_within_range. * ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range): New function. (_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range. * breakpoint.c (watchpoints_triggered): Use target_watchpoint_addr_within_range. 2008-05-01 Pedro Alves * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*. (i[34567]86-*-dicos*, x86_64-*-dicos*): Set gdb_osabi to GDB_OSABI_DICOS. * defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS. * osabi.c (gdb_osabi_name): Add "DICOS". * i386-dicos-tdep.c: New file. * Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o. (ALLDEPFILES): Add i386-dicos-tdep.c. (i386-dicos-tdep.o): New rule. 2008-05-01 Pedro Alves * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list and register the fork's PTID as a thread. 2008-05-01 Aleksandar Ristovski PR gdb/1665 * breakpoint.c (create_breakpoint): Add breakpoint_ops argument and assign its value to the breakpoint created. (create_breakpoints): Add breakpoint_ops argument and pass it to create_breakpoint call. (break_command_really): Add breakpoint_ops argument and pass/assign appropriately. (break_command_1): Pass NULL as ops argument. (set_breakpoint): Pass NULL as ops argument. (print_one_exception_catchpoint): Print if no loc available. (handle_gnu_v3_exceptions): Call generic breakpoint code to insert catch and throw catchpoints. 2008-05-01 Aleksandar Ristovski PR gdb/2343 * corelow.c (core_open): Use gdbarch_target_signal_from_host to translate signal numeric value from the target to GDB's enum target_signal. * gdbarch.c, gdbarch.h: Regenerated. * gdbarch.sh: Added two new functions target_signal_from_host and target_signal_to_host. * target.h (default_target_signal_from_host, default_target_signal_to_host): New functions - declarations. * signals/signals.c (struct gdbarch): New declaration. (default_target_signal_to_host, default_target_signal_from_host): New functions. 2008-05-01 Daniel Jacobowitz Pedro Alves Based on work by Jan Kratochvil and Jeff Johnston . * NEWS: Mention attach to stopped process fix. * infcmd.c (detach_command, disconnect_command): Discard the thread list. * infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while attaching. Use signal_stop_state. (signal_stop_state): Check stop_soon. * linux-nat.c (kill_lwp): Declare earlier. (pid_is_stopped, linux_nat_post_attach_wait): New. (lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update comments. (linux_nat_attach): Use linux_nat_post_attach_wait. (detach_callback, linux_nat_detach): Improve handling for signalled processes. (linux_nat_pid_to_str): Always print out the LWP ID if it differs from the process ID. * Makefile.in (infcmd.o): Update. 2008-05-01 Daniel Jacobowitz * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition. * arm-tdep.c (arm_frame_is_thumb): New. (arm_pc_is_thumb): Clarify comment. (thumb_analyze_prologue): Remove PC special case. (thumb_scan_prologue): Take a block_addr argument. Use it for find_pc_partial_function. Remove unused variables. (arm_scan_prologue): Use arm_frame_is_thumb. Use the block address for find_pc_partial_function. Remove PC special case. (arm_prologue_prev_register): Add special handling for PC and CPSR. (arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New. (arm_get_next_pc): Use arm_frame_is_thumb. (arm_write_pc): Use CPSR_T instead of 0x20. (arm_gdbarch_init): Call dwarf2_frame_set_init_reg. * arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM. (CPSR_T): Define. * dwarf2-frame.c (dwarf2_frame_prev_register): Handle DWARF2_FRAME_REG_FN. * dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add DWARF2_FRAME_REG_FN. (struct dwarf2_frame_state_reg): Add FN to loc union. 2008-05-01 Nick Roberts * exec.c (print_section_info): Add missing '\n'. 2008-05-01 Vladimir Prus * thread.c (add_thread): Move observer call to ... (add_thread_silent): ... here. 2008-04-30 Ulrich Weigand * rs6000-tdep.c: Update for unwinder changes. * ppcobsd-tdep.c: Likewise. 2008-04-30 Ulrich Weigand * s390-tdep.c: Update for unwinder changes. 2008-04-30 Ulrich Weigand * spu-tdep.c: Update for unwinder changes. 2008-04-30 Daniel Jacobowitz * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c, ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c, sparc64-linux-tdep.c: Update for unwinder changes. 2008-04-30 Daniel Jacobowitz * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update for unwinder changes. * mips-tdep.c: Likewise. (mips_stub_frame_cache): Unwind the ABI stack pointer, not the raw one. 2008-04-30 Daniel Jacobowitz * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for unwinder changes. 2008-04-30 Daniel Jacobowitz Update i386 and amd64 ports for unwinder changes. * amd64-tdep.c (amd64_frame_cache): Expect this_frame. (amd64_frame_this_id, amd64_frame_prev_register): Update signature. (amd64_frame_unwind): Use default_frame_sniffer. (amd64_frame_sniffer): Delete. (amd64_sigtramp_frame_cache): Expect this_frame. (amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register) (amd64_sigtramp_frame_sniffer): Update signature. (amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer. (amd64_frame_base_address): Expect this_frame. (amd64_dummy_id): Renamed from amd64_unwind_dummy_id. Expect this_frame. (amd64_init_abi): Use set_gdbarch_dummy_id and frame_unwind_append_unwinder. * i386-tdep.c (i386_frame_cache): Expect this_frame. (i386_frame_this_id, i386_frame_prev_register): Update signature. (i386_frame_unwind): Use default_frame_sniffer. (i386_frame_sniffer): Delete. (i386_sigtramp_frame_cache): Expect this_frame. (i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register) (i386_sigtramp_frame_sniffer): Update signature. (i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer. (i386_frame_base_address): Update signature. (i386_dummy_id): Rename from i386_unwind_dummy_id. Expect this_frame. (i386_push_dummy_call): Update comment. (i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr): Expect this_frame. (i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders, and frame_unwind_append_unwinder. * amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c, amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c, i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c, i386nbsd-tdep.c: Update for unwinder changes. 2008-04-30 Daniel Jacobowitz * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame. (trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect this_frame. (trad_frame_get_prev_register, trad_frame_get_register): Update signature. * trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register) (trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update signature. * tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect this_frame. (tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer): Update signature. * tramp-frame.h (struct tramp_frame): Update signature of init. * Makefile.in (trad-frame.o): Update. 2008-04-30 Daniel Jacobowitz * dwarf2-frame.c (read_reg): Expect this_frame in the baton. (execute_stack_op): Put this_frame in the baton. (execute_cfa_program): Take this_frame. (struct dwarf2_frame_ops): Update comment for signal_frame_p. (dwarf2_frame_default_init_reg, dwarf2_frame_init_reg) (dwarf2_frame_signal_frame_p, dwarf2_frame_cache) (dwarf2_frame_this_id): Adjust to work on this_frame. (dwarf2_signal_frame_this_id): Delete. (dwarf2_frame_prev_register): Update signature. Use new frame unwind methods. (dwarf2_frame_sniffer): Update signature. Expect this_frame. (dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add dwarf2_frame_sniffer. (dwarf2_append_unwinders): New. (dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect this_frame. * sparc-tdep.c (sparc32_dwarf2_struct_return_p) (sparc32_dwarf2_frame_init_reg): Expect this_frame. * cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise. * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise. * s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise. * sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise. * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise. * dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration. (dwarf2_append_unwinders): Declare. (dwarf2_frame_base_sniffer): Update declaration. * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect this_frame. 2008-04-30 Daniel Jacobowitz Convert frame unwinders to use the current frame and "struct value". * frame.c (frame_debug): Make global. (get_frame_id): Pass this frame to unwinder routines. (frame_pc_unwind): Remove unused unwind->prev_pc support. (do_frame_register_read): Do not discard the return value of frame_register_read. (frame_register_unwind): Remove debug messages. Use frame_unwind_register_value. (frame_unwind_register_value, get_frame_register_value): New functions. (create_new_frame, get_frame_base_address, get_frame_locals_address) (get_frame_args_address, get_frame_type): Pass this frame to unwinder routines. (frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New functions. * frame.h: Update comments. (frame_debug, frame_unwind_register_value, get_frame_register_value) (frame_prepare_for_sniffer): Declare. * frame-unwind.h: Update comments and parameter names. (default_frame_sniffer): Declare. (frame_prev_register_ftype): Return a struct value *. (struct frame_unwind): Remove prev_pc member. (frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete. (frame_unwind_append_unwinder, frame_unwind_got_optimized) (frame_unwind_got_register, frame_unwind_got_memory) (frame_unwind_got_constant, frame_unwind_got_address): Declare. * frame-base.h: Update comments and parameter names. * valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate if necessary. Add debugging output. * sentinel-frame.c (sentinel_frame_prev_register) (sentinel_frame_this_id): Update for new signature. (sentinel_frame_prev_pc): Delete. (sentinel_frame_unwinder): Remove prev_pc. * ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize prev_pc. * libunwind-frame.c (libunwind_frame_unwind): Likewise. * frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer. (frame_unwind_append_sniffer): Delete. (frame_unwind_append_unwinder): New function. (frame_unwind_find_by_frame): Take this frame. Only use sniffers from unwinders. Use frame_prepare_for_sniffer. (default_frame_sniffer, frame_unwind_got_optimized) (frame_unwind_got_register, frame_unwind_got_memory) (frame_unwind_got_constant, frame_unwind_got_address): New functions. * dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id. (dummy_frame_prev_register, dummy_frame_this_id): Update for new signature. * gdbarch.sh: Replace unwind_dummy_id with dummy_id. * gdbarch.c, gdbarch.c: Regenerated. * frame-base.c (default_frame_base_address) (default_frame_locals_address, default_frame_args_address): Update for new signature. (frame_base_find_by_frame): Pass this frame to unwinder routines. * infcall.c (call_function_by_hand): Update comments. * Makefile.in (frame-unwind.o): Update dependencies. 2008-04-30 Daniel Jacobowitz * ada-lang.c (ada_value_primitive_packed_val): Only check value_lazy for memory lvals. * findvar.c (value_of_register_lazy): New function. (locate_var_value): Only check value_lazy for memory lvals. * valarith.c (value_subscripted_rvalue): Likewise. * valops.c (value_fetch_lazy): Handle both memory and register lvals. (search_struct_field, value_slice): Only check value_lazy for memory lvals. * value.c (struct value): Update comment for lazy. (value_primitive_field): Only check value_lazy for memory lvals. * value.h (value_lazy): Update comment. (value_of_register_lazy): Declare. 2008-04-30 Daniel Jacobowitz * corefile.c (reopen_exec_file): Close any open files. 2008-04-29 Joel Brobecker * ia64-tdep.c (ia64_memory_remove_breakpoint): Set show_memory_breakpoints to 1 while reading the instruction bundle. 2008-04-29 Joel Brobecker * gdbarch.sh: Document the return_value method. Explain that the FUNCTYPE parameter might be NULL. * gdbarch.h: Regenerated. * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function type when calling using_struct_return, as this is unnecessary on this target. 2008-04-28 Joel Brobecker * terminal.h (create_tty_session): Fix return type. 2008-04-26 Vladimir Prus * mi/mi-interp.c (mi_new_thread): Quote the thread id. 2008-04-26 Joel Brobecker * breakpoint.c (condition_command, commands_from_control_command) (break_command_really): Minor reformatting. 2008-04-25 Pedro Alves * dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp. 2008-04-25 Pedro Alves * amd64-tdep.c (amd64_get_longjmp_target): New. (amd64_init_abi): Register amd64_get_longjmp_target as gdbarch_get_longjmp_target callback. * i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling. 2008-04-25 Pedro Alves * breakpoint.h (enum bpstat_what_main_action): Delete BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE. * breakpoint.c (clrs): Delete. (bpstat_what): Update table. * infrun.c (handle_inferior_event): Remove BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling. 2008-04-24 Vladimir Prus * mi/mi-cmds.h (mi_cmd_args_ftype): Remove. Adjust all prototypes using mi_cmd_args_ftype to use mi_cmd_argv_ftype. (struct mi_cmd): Remove the args_func field. * mi/mi-cmds.c: Don't provide value for the args_func field. * mi/mi-main.c (mi_execute_async_cli_command) (mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction) (mi_cmd_exec_step, mi_cmd_exec_step_instruction) (mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return) (mi_cmd_exec_continue, mi_cmd_exec_interrupt) (mi_cmd_target_download): Adjust. (mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter. (mi_cmd_execute): Do not check for args_func. (mi_execute_async_cli_command): Adjust. * mi/mi-parse.c: Don't check for args_func. 2008-04-24 Vladimir Prus * breakpoint.c (bpstat_check_location) (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions): New, extracted from bpstat_stop_status. (bpstat_stop_status): Use the above. 2008-04-24 Vladimir Prus * mi/mi-main.c (last_async_command): Rename to current_token. (previous_async_command): Remove. (mi_cmd_gdb_exit): Adjust. (mi_cmd_exec_interrupt): Don't dance with previous_async_command. (mi_cmd_target_select): Adjust. (mi_cmd_execute): Don't set previous_async_command. Free token here even in async mode. (mi_execute_async_cli_command): Adjust. (mi_exec_async_cli_cmd_continuation): Adjust. Do not free the token. (mi_load_progress): Adjust. 2008-04-24 Vladimir Prus * infcmd.c (step_1_continuation): Always disable longjmp breakpoint if we're not going to do another step. 2008-04-24 Vladimir Prus exec_cleanup murder. * breakpoint.c (until_break_command_continuation): Add the 'error' parameter. Directly delete the breakoint as opposed to running cleanups. (until_break_command): Install continuation only after starting the target. Don't use exec cleanups, use ordinary cleanups. Discard cleanups is successfully started the target in async mode. (make_cleanup_delete_breakpoint): Remove. * breakpoint.h (make_cleanup_delete_breakpoint): Remove declaration. * defs.h (do_exec_cleanups, make_exec_cleanup): Remove declarations. (struct continations): Add the 'error' parameter to the continuation_hook field. (add_continuation, do_all_continuations) (add_intermediate_continuation) (do_all_intermediate_continuations): Add the 'error' parameter. * exceptions.c (throw_exception): Don't call do_exec_cleanups. * inf-loop.c (inferior_event_handler): Instead of calling discard_all_continuations, use do_all_continuations with 1 as 'error' parameter. Pass 0 as 'error' parameter in existing uses of discard_all_continuations. * infcmd.c (step_1): Do not use exec cleanup. For async case, discard cleanups. (step_once): Install continuation only after resuming the target. (step_1_continuation): Disable longjmp breakpoint on error. (finish_command_continuation): Add the error parameter. Delete the finish breakpoint directly, do not use cleanups. (finish_command): Do not use exec_cleanups. Always setup continuation. For sync case, immediately run them. (attach_command_continuation): Add the error parameter. * infrun.c (fetch_inferior_event): Do not use exec cleanups to remove step_resume_breakpoint -- adjust delete it directly. * interps.c (interp_set): Adjust call to do_all_continations. * mi/mi-interp.c (mi_interpreter_exec_continuation): Do not do exec cleanups. * mi/mi-main.c (mi_cmd_target_select): Do not do exec cleanups. (mi_cmd_execute): Do not use exec_cleanup. (mi_execute_async_cli_command): Simplify the string concatenation logic. Do no use exec cleanup. (mi_exec_async_cli_cmd_continuation): New parameter error. Free last_async_command. * top.c (command_line_handler_continuation): New parameter error. * utils.c (exec_cleanup_chain, make_exec_cleanup) (do_exec_cleanups): Remove. (add_continuation, do_all_continations) (add_intermediate_continuation) (do_all_intermediate_continuations): New parameter error. 2008-04-24 Vladimir Prus * breakpoint.h (bp_location_p): New typedef. Register a vector of bp_location_p. * breakpoint.c (always_inserted_mode) (show_always_inserted_mode): New. (unlink_locations_from_global_list): Remove. (update_global_location_list) (update_global_location_list_nothrow): New. (update_watchpoint): Don't free locations. (should_insert_location): New. (insert_bp_location): Use should_insert_location. (insert_breakpoint_locations): Copied from insert_breakpoints. (insert_breakpoint): Use insert_breakpoint_locations. (bpstat_stop_status): Call update_global_location_list when disabling breakpoint. (allocate_bp_location): Don't add to bp_location_chain. (set_raw_breakpoint) (create_longjmp_breakpoint, enable_longjmp_breakpoint) (disable_longjmp_breakpoint, create_overlay_event_breakpoint) (enable_overlay_breakpoints, disable_overlay_breakpoints) (set_longjmp_resume_breakpoint) (enable_watchpoints_after_interactive_call_stop) (disable_watchpoints_before_interactive_call_start) (create_internal_breakpoint) (create_fork_vfork_event_catchpoint) (create_exec_event_catchpoint, set_momentary_breakpoint) (create_breakpoints, break_command_1, watch_command_1) (create_exception_catchpoint) (handle_gnu_v3_exceptions) (disable_breakpoint, breakpoint_re_set_one) (create_thread_event_breakpoint, create_solib_event_breakpoint) (create_ada_exception_breakpoint): : Don't call check_duplicates. Call update_global_location_list. (delete_breakpoint): Don't remove locations and don't try to reinsert them. Call update_global_location_list. (update_breakpoint_locations): Likewise. (restore_always_inserted_mode): New. (update_breakpoints_after_exec): Temporary disable always inserted mode. * Makefile.in: Update dependencies. * infrun.c (proceed): Remove breakpoints while stepping over breakpoint. (handle_inferior_event): Don't remove or insert breakpoints. * linux-fork.c (checkpoint_command): Remove breakpoints before fork and insert after. (linux_fork_context): Remove breakpoints before switch and insert after. * target.c (target_disconnect, target_detach): Remove breakpoints from target. 2008-04-24 Vladimir Prus * breakpoint.c (print_one_breakpoint_location): In MI mode, report the location string the breakpoint was originally created with. 2008-04-23 Maxim Grigoriev * Makefile.in (xtensa-tdep.o): Update dependencies. * configure.tgt (xtensa*): Update dependencies. * xtensa-tdep.c (arreg_number): Renamed from areg_number. Local variable areg renamed to arreg. (areg_number): New function. (xtensa_pseudo_register_read, xtensa_pseudo_register_write) (xtensa_extract_return_value, xtensa_store_return_value): areg_number replaced by arreg_number. (xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments. (xtensa_alloc_frame_cache): Initialize cache->wd.ws. (xtensa_scan_prologue): New function. (xtensa_frame_cache): New local fp_regnum. Handle separately the case, when ENTRY instraction hasn't been executed yet. Get the frame pointer value based on prologue analysis. Fix the bugs preventing WS and AR4-AR7/A11 registers from getting right values for intermediate frames, whose registers have been already spilled. (xtensa_frame_prev_register): Fix WS register value. Use are_number and arreg_number appropriately. (xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to svr4_ilp32_fetch_link_map_offsets. 2008-04-23 Andrew Stubbs * printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW. (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set. 2008-04-23 Paolo Bonzini * acinclude.m4: Add override.m4. * configure: Regenerate. 2008-04-22 Jan Kratochvil * ada-lang.c (get_selections): Variable PROMPT made non-const and initialized with a trailing space now. Use PROMPT_ARG of COMMAND_LINE_INPUT instead of printing it ourselves. 2008-04-22 Joel Brobecker * NEWS: Document support for 64-bit core file. 2008-04-22 Corinna Vinschen * NEWS: Add information on calling convention and new SH CLI options. * sh-tdep.c (sh_cc_gcc): New static string. (sh_cc_renesas): Ditto. (sh_cc_enum): New static string array. (sh_active_calling_convention): New static string pointer denoting active user chosen ABI. (sh_is_renesas_calling_convention): New function to return function specific ABI, or user choice if necessary. (sh_use_struct_convention): Rename first argument and turn around its meaning. Check for renesas ABI and return accordingly. (sh_use_struct_convention_nofpu): New function. (sh_next_flt_argreg): Get function type as third parameter. Check for renesas ABI and choose floating registers accordingly. (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and struct return slot accordingly. (sh_push_dummy_call_nofpu): Ditto. (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here. Evaluate ABI and give to sh_use_struct_convention_nofpu. (sh_return_value_fpu): Evaluate ABI and give to sh_use_struct_convention. (show_sh_command): New function. (set_sh_command): Ditto. (_initialize_sh_tdep): Initialize `set/show sh calling-convention CLI command. * gdbarch.sh (return_value): Add func_type argument. * gdbarch.c: Regenerate. * gdbarch.h: Ditto. * eval.c (evaluate_subexp_standard): Rename local variable value_type to val_type so as not to collide with value_type function. Call using_struct_return with additional function type argument. * infcall.c (call_function_by_hand): Call using_struct_return and gdbarch_return_value with additional function type argument. * infcmd.c (print_return_value): Take addition func_type argument. Call gdbarch_return_value with additional function type argument. (finish_command_continuation): Call print_return_value with additional function type argument. (finish_command): Ditto. * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with additional function type argument. * stack.c (return_command): Call using_struct_return and gdbarch_return_value with additional function type argument. * value.c (using_struct_return): Take additional function type argument. * value.h (using_struct_return): Accommodate declaration. * alpha-tdep.c (alpha_return_value): Add func_type argument. * amd64-tdep.c (amd64_return_value): Ditto. * arm-tdep.c (arm_return_value): Ditto. * avr-tdep.c (avr_return_value): Ditto. * cris-tdep.c (cris_return_value): Ditto. * frv-tdep.c (frv_return_value): Ditto. * h8300-tdep.c (h8300_return_value): Ditto. (h8300h_return_value): Ditto. * hppa-tdep.c (hppa32_return_value): Ditto. (hppa64_return_value): Ditto. * i386-tdep.c (i386_return_value): Ditto. * ia64-tdep.c (ia64_return_value): Ditto. * iq2000-tdep.c (iq2000_return_value): Ditto. * m32c-tdep.c (m32c_return_value): Ditto. * m32r-tdep.c (m32r_return_value): Ditto. * m68hc11-tdep.c (m68hc11_return_value): Ditto. * m68k-tdep.c (m68k_return_value): Ditto. (m68k_svr4_return_value): Ditto. * m88k-tdep.c (m88k_return_value): Ditto. * mep-tdep.c (mep_return_value): Ditto. * mips-tdep.c (mips_eabi_return_value): Ditto. (mips_n32n64_return_value): Ditto. (mips_o32_return_value): Ditto. (mips_o64_return_value): Ditto. * mn10300-tdep.c (mn10300_return_value): Ditto. * mt-tdep.c (mt_return_value): Ditto. * ppc-linux-tdep.c (ppc_linux_return_value): Ditto. * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. (ppc_sysv_abi_broken_return_value): Ditto. (ppc64_sysv_abi_return_value): Ditto. * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. * rs6000-tdep.c (rs6000_return_value): Ditto. * s390-tdep.c (s390_return_value): Ditto. * score-tdep.c (score_return_value): Ditto. * sh-tdep.c (sh_return_value_nofpu): Ditto. (sh_return_value_fpu): Ditto. * sh64-tdep.c (sh64_return_value): Ditto. * sparc-tdep.c (sparc32_return_value): Ditto. * sparc64-tdep.c (sparc64_return_value): Ditto. * spu-tdep.c (spu_return_value): Ditto. * v850-tdep.c (v850_return_value): Ditto. * vax-tdep.c (vax_return_value): Ditto. * xstormy16-tdep.c (xstormy16_return_value): Ditto. * xtensa-tdep.c (xtensa_return_value): Ditto. * gdbtypes.h (struct type): Add calling_convention member. * dwarf2read.c (read_subroutine_type): Add calling convention read from DW_AT_calling_convention attribute to function type. 2008-04-22 Markus Deuling * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for multi_f77_subscript to support values from registers. * valarith.c (value_subscripted_rvalue): Remove prototype and static. * value.h (value_subscripted_rvalue): Add prototype. * f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION. Fix output. * f-valprint.c (f_val_print): Likewise. 2008-04-21 Craig Silverstein * dwarf2read.c (zlib_decompress_section): Define abfd in the !HAVE_ZLIB_H case. 2008-04-21 Pedro Alves * symfile.c (syms_from_objfile): Don't warn if lowest loadable section is not a code section. 2008-04-19 Craig Silverstein * NEWS: Add information on compressed debug sections. 2008-04-19 Vladimir Prus * mi/mi-cmd-var.c (varobj_update_one): Print new value for variable objects that changed type. 2008-04-19 Vladimir Prus * varobj.c (varobj_invalidate): Don't touch floating varobjs. 2008-04-19 Mark Kettenis * symtab.c: (multiple_symbols_modes, multiple_symbols_ask) (multiple_symbols_cancel): Remove extra const. * symtab.h: Likewise. 2008-04-19 Nick Roberts * interps.c (top_level_interpreter): Rename static variable... (top_level_interpreter_ptr): ...to this. (top_level_interpreter): New function. * interps.h: New extern for top_level_interpreter. * linespec.c: Include interps.h and mi/mi-cmds.h. (decode_line_2): When using MI, always set all breakpoints in menu. * Makefile.in (linespec.o, mi-interp.o): Add dependencies. 2008-04-18 Craig Silverstein * configure.ac (AC_SEARCH_LIBS): Add check for zlib. * config.in, configure: Regenerate. * dwarf2read.c: Include zlib.h if present. Modified *_SECTION macros. (section_is_p): New. (dwarf2_locate_sections): Use section_is_p instead of strcmp (dwarf2_resize_section): New. to determine whether a given section has a given name. (zlib_decompress_section): New. (dwarf2_read_section): Read the compressed section if present in the binary. * MAINTAINERS: Added myself to section Write After Approval. 2008-04-18 Thiago Jung Bauermann * defs.h (exec_set_section_offsets): Remove prototype. * exec.c (exec_set_section_offsets): Remove function. 2008-04-18 Joel Brobecker * stabsread.c (cleanup_undefined_types_1): Add instance flags check in the search for the matching symbol. 2008-04-17 Marc Khouzam * breakpoint.c (update_watchpoint): Always reparse condition. 2008-04-17 Joel Brobecker * breakpoint.c (print_one_breakpoint_location): Make sure to print the breakpoint address only once. 2008-04-17 Dennis Roberts * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture, rather than a hard-coded architecture, for xcoff executables. 2008-04-17 Doug Evans * buildsym.c (watch_main_source_file_lossage): New fn. (end_symtab): Call it. * source.c (find_and_open_source): Add some comments clarifying handling of FULLNAME argument. Make static. Remove pointless xstrdup/xfree. 2008-04-17 Pedro Alves * inf-loop.c (inferior_event_handler): Also run the intermediate continuations in the INF_EXEC_COMPLETE case. 2008-04-16 Tom Tromey * cli/cli-decode.h (CMD_ASYNC_OK): New define. (set_cmd_async_ok, get_cmd_async_ok): Declare. * cli/cli-decode.c (set_cmd_async_ok): New function. (get_cmd_async_ok): New function. * cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and "show" as async-ok. * top.c (execute_command): Use get_cmd_async_ok. * infcmd.c: Include cli/cli-decode.h. (_initialize_infcmd): Mark "interrupt" as async-ok. * Makefile.in (infcmd.o): Depend on cli_decode_h. 2008-04-16 Daniel Jacobowitz PR gdb/2445 * exec.c: Correct "arch-utils.h" include. 2008-04-15 Aleksandar Ristovski PR gdb/2424 * infrun.c (normal_stop) Move breakpoint_auto_delete further down to allow printing to 'see' real reason of stop. This fixes PR 2424. * breakpoint.c (bpdisp_texst): New function. The function takes over the role of bpstats static array in print_one_breakpoint_location. (print_it_typical): Print "Temporary breakpoint" instead of just "Breakpoint" when breakpoint is, well, temporary. For mi-like protocols, print disp field. (print_one_breakpoint_location): Removed bpdisps static definition. Call new bpstat_text function to get value for 'disp' field. (mention): Print "Temporary breakpoint" instead of just "Breakpoint". 2008-04-15 Daniel Jacobowitz * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4, gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust by rerunning gnulib-tool with --aux-dir=gnulib/extra. * gnulib/Makefile.in: Regenerate. 2008-04-14 Daniel Jacobowitz * Makefile.in (GNULIB_H): New. Trigger all-lib. (defs_h): Use $(GNULIB_H). (all-lib): Depend on gnulib/Makefile. (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps. * config.in, gnulib/Makefile.in: Regenerated. 2008-04-14 Daniel Jacobowitz * Makefile.in (LIBGNU, INCGNU): Define. (INTERNAL_CFLAGS_BASE): Add INCGNU. (INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU. (CLEANDIRS): New. ($(LIBGNU), all-lib): New rules. (clean, distclean, do-maintainer-clean): Use CLEANDIRS. * configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE. Simplify AC_CONFIG_AUX_DIR. Generate gnulib/Makefile. * gnulib: New directory, from gnulib-tool. * configure, aclocal.m4: Regenerated. 2008-04-14 Daniel Jacobowitz * linux-thread-db.c (have_threads_callback): Check thread->private. 2008-04-13 Nick Roberts Vladimir Prus Fix @-varobjs. * varobj.c (value_of_root): Update the expression for floating varobjs. * mi/mi-cmd-var.c (varobj_update_one): If type has changed, report that. 2008-04-09 Marc Khouzam * mi/mi-cmd-var.c: Include "mi-getopt.h". (mi_parse_format): New. Factored out from mi_cmd_var_set_format. (mi_cmd_var_set_format): Use new mi_parse_format. (mi_cmd_var_evaluate_expression): Support for -f option to specify format. * Makefile.in (mi-cmd-var.o): Update dependencies. * varobj.h (varobj_get_formatted_value): Declare. * varobj.c (my_value_of_variable): Added format parameter. (cplus_value_of_variable): Likewise. (java_value_of_variable): Likewise. (c_value_of_variable): Likewise. Evaluate expression based on format parameter. (struct language_specific): Add format parameter to function member *value_of_variable. (varobj_get_formatted_value): New. (varobj_get_value): Added format parameter to method call. 2008-04-08 Joel Brobecker * stabsread.c (cleanup_undefined_types_noname): Manually set the instance flags of the undefined type before calling replace_type. 2008-04-08 Vladimir Prus * target.h (enum strata): Remove the download_stratum. 2008-04-07 Doug Evans * buildsym.h (last_source_file): Add dwarf info to comment. (last_source_start_addr): Ditto. 2008-04-07 Pedro Alves * alphanbsd-tdep.c: Include "target.h". * mn10300-tdep.c: Include "target.h". * Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update. 2008-04-06 Vladimir Prus Fix breakpoint condition that use member variables. * valops.c (check_field): Remove. (check_field_in): Rename to check_field. (value_of_this): Use la_name_of_this. * value.h (check_field): Adjust prototype. * language.h (la_value_of_this): Rename to la_name_of_this. * language.c (unknown_language_defn): Specify "this" for name_of_this. (auto_language_defn): Likewise. (local_language_defn): Likewise. * ada-lang.c (ada_language_defn): Adjust comment. * c-lang.c (c_language_defn): Adjust comment. (cplus_language_defn): Specify "this" for name_of_this. (asm_language_defn): Adjust comment. (minimal_language_defn): Adjust comment. * f-lang.c (f_language_defn): Specify NULL for name_of_this. * jv-lang.c (java_language_defn): Specify "this" for name_of_this. * m2-lang.c (m2_language_defn): Specify "this" for name_of_this. * objc-lang.c (objc_language_defn): Specify "self" for name_of_this. * p-lang.c (pascal_language_defn): Specify "this" for name_of_this. * scm-lang.c (scm_language_defn): Specify NULL for name_of_this. * symtab.c (lookup_symbol_aux): Lookup "this" in the proper scope, and check for field in type of "this", without trying to create a value. 2008-04-04 Pedro Alves * mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR. (mi_error_message): Delete declaration. * mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of returning MI_CMD_ERROR. * mi/mi-main.c (mi_error_message): Delete. (mi_cmd_exec_interrupt): (mi_cmd_thread_select, mi_cmd_thread_list_ids) (mi_cmd_thread_info): Call error instead of returning MI_CMD_ERROR. (mi_cmd_data_list_register_values): Call error instead of returning MI_CMD_ERROR. Adapt to new get_register interface. (get_register): Change return typo to void. Call error instead of returning MI_CMD_ERROR. (mi_cmd_data_write_register_values): Call error instead of returning MI_CMD_ERROR. (mi_cmd_list_features): Return MI_CMD_DONE. (captured_mi_execute_command): Remove MI_CMD_ERROR handling. (mi_execute_command): Always print exceptions with -error. 2008-04-04 Joel Brobecker * NEWS: Mention new commands set/show multiple-symbols. 2008-04-03 Joel Brobecker * symtab.c (multiple_symbols_ask, multiple_symbols_all) (multiple_symbols_cancel): New constants. (multiple_symbols_modes, multiple_symbols_mode): New static globals. (multiple_symbols_select_mode): New function. (_initialize_symtab): Add new set/show multiple-symbols commands. * symtab.h (multiple_symbols_ask, multiple_symbols_all) (multiple_symbols_cancel, multiple_symbols_select_mode): Declare. * ada-lang.c (user_select_syms): Add handling of new multiple-symbols setting. * linespec.c (decode_line_2): Likewise. 2008-04-03 Doug Evans * symtab.h (enum free_code): Delete free_contents, unused. * symmisc.c (free_symtab_block): Delete. (free_symtab, case free_code): Delete. 2008-04-01 Aleksandar Ristovski * valops.c (value_cast_structs): New function. Cast related STRUCT types up/down and return cast value. The body of this function comes mostly from value_cast_pointers. (value_cast_pointers): Code for actual cast STRUCT-STRUCT moved to value_cast_structs. Now value_cast_pointers needs only create appropriate reference after using value_cast_structs for actual casting. (value_cast): Handle references. 2008-04-01 Marc Khouzam * MAINTAINERS: Added myself to section Write After Approval. 2008-03-30 Daniel Jacobowitz * ia64-tdep.c (examine_prologue): Correct array access. 2008-03-28 Aleksandar Ristovski * cp-support.c (first_component_command): Return if no arguments. 2008-03-28 Carlos O'Donell * ser-mingw.c (ser_windows_open): Open requested name. 2008-03-28 Aleksandar Ristovski * MAINTAINERS: Added myself. 2008-03-28 Pedro Alves * target.c (find_default_run_target): Allow a NULL `do_mesg' parameter. If it is NULL, don't call error. (find_default_can_async_p, find_default_is_async_p): Pass NULL as `do_mesg' parameter to find_default_run_target. If no target was found, return 0. 2008-03-28 Daniel Jacobowitz * mips-linux-tdep.c: Update N32/N64 signal frame comments. (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update. (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR): Delete. (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr. 2008-03-27 Joel Brobecker GDB 6.8 released. 2008-03-27 Ulrich Weigand * features/Makefile (%.dat): Set xmltarget to the base filename of the XML source, without subdirectory. * regformats/rs6000/powerpc-32.dat: Regenerate. * regformats/rs6000/powerpc-64.dat: Regenerate. * regformats/rs6000/powerpc-e500.dat: Regenerate. 2008-03-27 Markus Deuling * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by objfile arch. 2008-03-27 Nick Roberts * mi/mi-main.c (enum captured_mi_execute_command_actions): Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly. 2008-03-26 Ulrich Weigand * objfiles.h (struct objfile): New GDBARCH member. (get_objfile_arch): Add prototype. * objfiles.c: Include "arch-utils.h". (allocate_objfile): Look up gdbarch associated with bfd. (get_objfile_arch): New function. * Makefile (objfiles.o): Update dependencies. * dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch by objfile arch. * dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch by frame arch. (locexpr_describe_location): Replace current_gdbarch by objfile arch. * dwarf2read.c (die_type): Replace current_gdbarch by objfile arch. (dwarf2_add_field): Likewise. (read_tag_pointer_type): Likewise. (read_base_type): Likewise. (new_symbol): Likewise. * coffread.c (decode_type): Add OBJFILE argument. Update callers. (decode_base_type, decode_function_type): Likewise. (coff_read_struct_type, coff_read_enum_type): Likewise. (coff_symtab_read): Replace current_gdbarch by objfile arch. (decode_base_type): Likewise. (coff_read_enum_type): Likewise. (coff_read_struct_type): Replace current_objfile by OBJFILE argument. (coff_read_enum_type): Likewise. * dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch. (end_psymtab): Likewise. (process_one_symbol): Likewise. * mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch. (parse_procedure): Likewise. (parse_partial_symbols): Likewise. * somread.c (som_symtab_read): Replace current_gdbarch by objfile arch. * stabsread.c (define_symbol): Replace current_gdbarch by objfile arch. Replace static pcc_promotion_type and pcc_unsigned_promotion_type by built-in types. (read_range_type): Replace current_gdbarch by objfile arch. Replace static range_index_type by built-in type. (read_one_struct_field): Replace current_gdbarch by objfile arch. (read_enum_type): Likewise. * xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by objfile arch. 2008-03-26 Vladimir Prus * varobj.h (varobj_floating_p): Declare. * varobj.c (varobj_floating_p): New. * mi/mi-cmd-var.c (mi_cmd_var_update): When passed '@' as the name, update all floating varobjs. 2008-03-26 Vladimir Prus * varobj.c (struct varobj_root): Rename use_selected_frame to floating, and clarify the meaning. (varobj_create, varobj_update, new_root_variable): Adjust. (value_of_root): Don't use type_changed as in variable, adjust comment. (c_value_of_root): Adjust. 2008-03-25 Pedro Alves * linux-nat.c (linux_nat_attach): Add the pid we attached to, to gdb's thread list. (linux_nat_wait): Add main lwp to gdb's thread list. * linux-thread-db.c (find_new_threads_callback): Also attach to already listed threads which thread_db didn't know about yet. 2008-03-25 Pedro Alves * linux-nat.c (drain_queued_events): Fix comment typo. (linux_nat_attach): In async mode, don't rely on storing a pending status. Instead place the wait status on the pipe. (linux_nat_resume): Remove unreacheable shortcut code in async mode. (stop_wait_callback): In async mode, don't store pending status. Instead, cancel breakpoints or resend the signal appropriatelly. (cancel_breakpoint): New, refactored from cancel_breakpoints_callback. (cancel_breakpoints_callback): Call cancel_breakpoint. (pipe_to_local_event_queue): Remove special token processing. (linux_nat_wait): Issue an internal error if a pending status is found in async mode. 2008-03-24 Daniel Jacobowitz * inflow.c (gdb_has_a_terminal): Guard access to our_process_group. 2008-03-24 Nick Roberts Vladimir Prus * varobj.c (struct varobj_root): New component thread_id. (varobj_get_thread_id, check_scope): New functions. (c_value_of_root): Use check_scope. Switch to the proper thread if necessary. * varobj.h (varobj_get_thread_id): New extern. * mi/mi-cmd-var.c (print_varobj): Add thread-id field. 2008-03-23 Daniel Jacobowitz PR gdb/544 * top.c: Revert 2008-03-21 changes. 2008-03-23 Vladimir Prus * thread.c (make_cleanup_restore_current_thread): Make it globally visible. * gdbthread.h (make_cleanup_restore_current_thread): Declare. * varobj.c (varobj_update): Don't save/restore frame. (c_value_of_root): Save/restore thread and frame here, using make_cleanup_restore_current_thread. * Makefile.in: Update dependecies. 2008-03-23 Vladimir Prus * varobj.c (struct varobj_root): Clarify comment on the frame field. (varobj_create): Don't set frame if we have no block. 2008-03-21 Daniel Jacobowitz PR gdb/544 Suggested by Jan Kratochvil: * top.c (gdb_rl_operate_and_get_next_completion): Call rl_redisplay_function. (gdb_rl_redisplay): New. (init_main): Set rl_redisplay_function. 2008-03-21 Thomas Mittelstaedt (tiny change) * aix-thread.c (pdc_read_regs): Fix compiler warning. (pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread) (store_regs_kernel_thread): Likewise. 2008-03-21 Pedro Alves Linux native async support. * target.h (struct target_ops): Delete to_async_mask_value and add to_async_mask. (target_is_async_p, target_async): Formatting. (target_async_mask_value): Delete. (target_async_mask): Delete function declaration, and add new target macro with the same name. * target.c (update_current_target): Replace to_async_mask_value by to_async_mask. Default to_async_mask to return_one. (target_async_mask): Delete. (find_default_can_async_p, find_default_is_async_p): New. (init_dummy_target): register find_default_can_async_p and find_default_is_async_p on the dummy target. * linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h. (debug_linux_nat_async): New global. (show_debug_linux_nat_async): New function. (linux_nat_async_enabled, linux_nat_async_mask_value) (linux_nat_event_pipe, linux_nat_num_queued_events) (linux_nat_async_events_enabled): New globals. (struct waitpid_result): New struct. (waitpid_queue): New global. (queued_waitpid, push_waitpid, drain_queued_events): New. (my_waitpid): Call queued_waitpid. (linux_child_follow_fork): Disable async events during the call. (blocked_mask): Delete. (sync_sigchld_action, async_sigchld_action): New globals. (lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD. In async mode, block events during the call. (linux_nat_create_inferior): New. (linux_nat_attach): In sync mode, restore the mask states. In async mode, wake the event loop immediatelly. (detach_callback): Drain all queued events of the lwp we're detaching from. (linux_nat_detach): Block async mode, and drain events of the main process. (linux_nat_resume): If in async mode, mask async events during the call. If short circuiting, force event loop to wake up. If resuming, set target_executing, and register target events in the event loop. (pipe_to_local_event_queue, local_event_queue_to_pipe): New. (linux_nat_wait): In async mode, block events during the call. Only enable/disable passing SIGINT to the inferior in sync mode. Get events from local waitpid queue. If no interesting events was found, return to events loop. Reregister target events in the event loop on exit. In sync mode, no need to reblock SIGCHLD. (linux_nat_kill): Disable events on entry. (linux_nat_mourn_inferior): In sync mode, don't restore the masks here. Detach async mode from the event loop if there are no more forks available, otherwise leave it on. (sigchld_handler): Assure this is called only in sync mode. (linux_async_permitted, linux_async_permitted_1): New globals. (set_maintenance_linux_async_permitted) (show_maintenance_linux_async_permitted): New functions. (linux_nat_is_async_p, linux_nat_can_async_p) (linux_nat_async_mask): New. (linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New. (get_pending_events, async_sigchld_handler): New. (linux_nat_async_events): New. (async_terminal_is_ours): New global. (linux_nat_terminal_inferior, linux_nat_terminal_ours): New. (async_client_callback, async_client_context): New. (linux_nat_async_file_handler, linux_nat_async) (linux_nat_disable_async, linux_nat_enable_async): New. (linux_nat_add_target): Register linux_nat_create_inferior, linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async, linux_nat_async_mask, linux_nat_terminal_inferior and linux_nat_terminal_ours. (_initialize_linux_nat): Remove local action variable, and update code that used it to use sync_sigchld_action. Add new "lin-lwp-async" debug set/show command. Put the "lin-lwp" debug set/show command in the maintenance class. Add new "linux-async" maintenance set/show command. Block SIGCHLD by default. Setup async_sichld_action, and sync_sigchld_action. Install the default async mode. (lin_thread_get_thread_signals): Use a local sigset_t for blocking the cancel signals. * linux-thread-db.c (re_check_for_thread_db): New. (clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE. (thread_db_can_async_p, thread_db_is_async_p, thread_db_async) (thread_db_async_mask): New. (init_thread_db_ops): Register thread_db_can_async_p, thread_db_is_async_p, thread_db_async and thread_db_async_mask. * remote.c (remote_async_mask_value): New. (remote_return_zero): New. (init_remote_ops): Register remote_return_zero as callbacks of to_can_async_p and to_is_async_p. (remote_can_async_p, remote_is_async_p, remote_async): Update to use remote_async_mask_value. (remote_async_mask): New. (init_remote_async_ops): Remove to_async_mask_value setting and register remote_async_mask as to_async_mask callback in remote_async_ops. * Makefile.in (linux-nat.o): Update. 2008-03-21 Daniel Jacobowitz * gdbthread.h (add_thread_with_info): New. * linux-thread-db.c: Add some documentation. (GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete. (struct private_thread_info): Remove th_valid and ti_valid. Replace ti with tid. (thread_get_info_callback): Do not add TID to the new ptid. Do not cache th or ti. (thread_db_map_id2thr, lwp_from_thread): Delete functions. (thread_from_lwp): Assert that the LWP is set. Do not add TID to the new PTID. (attach_thread): Handle an already-existing thread. Use add_thread_with_info. Cache the th and tid. (detach_thread): Verify that private was set. Remove verbose argument and printing. Update caller. (thread_db_detach): Do not adjust inferior_ptid. (clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete. (check_event, find_new_threads_callback): Do not add TID to the new PTID. (thread_db_wait): Do not use lwp_from_thread. (thread_db_pid_to_str): Use the cached TID. (thread_db_extra_thread_info): Check that private is set. (same_ptid_callback): Delete. (thread_db_get_thread_local_address): Do not use it or check is_thread. Check that private is set. Assume that the thread handle is already cached. (init_thread_db_ops): Remove to_resume and to_kill. * thread.c (add_thread_with_info): New. (add_thread): Use it. * linux-nat.c (find_thread_from_lwp): Delete. (exit_lwp): Do not use it. Check print_thread_events. Print before deleting the thread. (GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to... * linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here. * inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and printf_unfiltered for thread exits. * procfs.c (procfs_wait): Likewise. 2008-03-21 Chris Demetriou * symtab.c (rbreak_command): Quote symbol name before passing it to break_command. 2008-03-21 Daniel Jacobowitz * eval.c (evaluate_subexp_for_address): Clarify error message. Use value_must_coerce_to_target. * infcall.c (value_arg_coerce): Call value_coerce_to_target. * valops.c (value_assign): Call value_coerce_to_target when assigning to anything but internalvars. Leave GDB-side arrays as arrays when assigning to internalvars. (value_must_coerce_to_target, value_coerce_to_target): New. (value_coerce_array, value_addr): Call value_coerce_to_target. (value_array): Create the array in GDB's memory instead of the inferior's. * value.h (value_must_coerce_to_target, value_coerce_to_target): Declare. 2008-03-21 Daniel Jacobowitz * top.c (quit_confirm): Warn that we will kill the program. 2008-03-19 Pedro Alves * inflow.c (terminal_ours_1): Guard access to inferior_process_group with #ifdef PROCESS_GROUP_TYPE. 2008-03-18 Ulrich Weigand Jim Blandy Daniel Jacobowitz * dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member. (dwarf2_read_address): Update prototype. * dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter. (signed_address_type): Likewise. (dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE. (execute_stack_op): Update calls to unsigned_address_type, signed_address_type and dwarf2_read_address. Fix implementation of DW_OP_deref_size. * dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype. (dwarf2_per_cu_addr_size): Likewise. (struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU. (struct dwarf2_loclist_baton): Likewise. * dwarf2loc.c (find_location_expression): Update calls to dwarf2_read_address. Use dwarf2_per_cu_objfile and dwarf2_per_cu_addr_size to retrieve PER_CU parameters. (locexpr_describe_location): Likewise. (dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter. Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu). (dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu). (locexpr_read_variable): Update dwarf2_evaluate_loc_desc call. (loclist_read_variable): Likewise. (locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call. * dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu instead of baton->objfile. (dwarf2_per_cu_obfile): New function. (dwarf2_per_cu_addr_size): Likewise. * dwarf2-frame.c (struct comp_unit): Move higher. (struct dwarf2_cie): Add UNIT and ADDR_SIZE members. (execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size. (execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P parameter by using fde->eh_frame_p. Use read_encoded_value to implement DW_CFA_set_loc. (struct dwarf2_frame_cache): Add ADDR_SIZE member. (dwarf2_frame_cache): Set cache->addr_size. Update calls to execute_stack_op and execute_cfa_program. (dwarf2_frame_prev_register): Update calls to execute_stack_op. (size_of_encoded_value): Remove. (read_encoded_value): Add PTR_LEN and FUNC_BASE parameters. Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel. (add_cie): Set cie->unit backlink. (decode_frame_entry_1): Set cie->addr_size. Update calls to read_encoded_value. (dwarf2_build_frame_info): Allocate UNIT on objfile obstack. 2008-03-17 Markus Deuling * i386-tdep.c (i386_print_insn): Remove unnecessary call to gdbarch_bfd_arch_info. 2008-03-17 Joel Brobecker * aix-thread.c (pdc_read_regs): Minor reformatting. 2008-03-17 Vladimir Prus * thread.c (print_thread_info): Don't insist on having current thread if there are no threads at all. 2008-03-17 Pedro Alves * infcmd.c (attach_command_post_wait) (attach_command_continuation): New. (attach_command): Support background async execution, and async execution in synchronous mode. 2008-03-17 Daniel Jacobowitz * stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR. * symmisc.c (dump_symtab_1): Likewise. * wrapper.c (gdb_value_struct_elt): Likewise. 2008-03-17 Pedro Alves * linux-nat.c (linux_nat_filter_event): Fix comment typo. 2008-03-17 Pedro Alves * linux-nat.c (linux_nat_filter_event): New, refactored from linux_nat_wait. (linux_nat_wait): Call linux_nat_filter_event. 2008-03-17 Ulrich Weigand * top.c (execute_command): Fix uninitialized variable error. 2008-03-16 Nick Hudson * Makefile.in (amd64nbsd-nat.o): New dependency. * amd64nbsd-nat.c: Include "nbsd-nat.h". (_initialize_amd64nbsd_nat): Update target vector to use nbsd_pid_to_exec_file. * config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o. 2008-03-15 Vladimir Prus Remove ignoring leading exec events code. * fork-child.c (startup_inferior): Do not set inferior_ignoring_leading_exec_events. * inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove. (inf_child_target): Do not set to_reported_exec_events_per_exec_call. * infrun.c (inferior_ignoring_leading_exec_events): Remove. (handle_inferior_event): Remove code for ignoring leading exec events. * target.c (update_current_target): Do not inherit, or default, to_reported_exec_events_per_exec_call. (debug_to_reported_exec_events_per_exec_call): Remove. (setup_target_debug): Do not set to_reported_exec_events_per_exec_call. * target.h (target_reported_exec_events_per_exec_call): Remove. (struct target): Remove the to_reported_exec_events_per_exec_call field. 2008-03-15 Vladimir Prus Implement -thread-info. * gdbthread.h (print_thread_info): Declare. * thread.c (print_thread_info): New, extracted from info_threads_command and adjusted to work for CLI and MI. (info_threads_command): Use print_thread_info. * Makefile.in: Update dependencies. * mi/mi-cmds.c (mi_cmds): Specify a handler for -thread-info. * mi/mi-cmds.h (mi_cmd_thread_info): Declare. * mi/mi-main.c (mi_cmd_thread_info): New. (mi_cmd_list_features): Include 'thread-info'. 2008-03-14 Kevin Buettner * mips-tdep.c (mips32_scan_prologue): Use the ABI register size to decide whether to match instruction patterns using "sw" and "sd". 2008-03-14 Pedro Alves * infcmd.c (jump_command): Postpone disabling stdin until after the possible query. 2008-03-14 Pedro Alves * inflow.c (gdb_getpgrp): New. (gdb_has_a_terminal): Use get_getpgrp. (terminal_ours_1): If attach_flag is set, don't refetch inferior_process_group. 2008-03-14 Pedro Alves * features/library-list.dtd: Allow "section" elements as children of "library". Add "section" element and describe its attributes. * solib-target.c (struct lm_info): Add section_bases member. (library_list_start_segment): Error out if seen a section element. (library_list_start_section): New. (library_list_end_library): New. (solib_target_free_library_list): Free section_bases. (section_attributes): New. (library_children): Make "segment" optional. Add "section" child. (library_list_children): Register library_list_end_library. (solib_target_relocate_section_addresses): Handle section bases. * NEWS: Mention new qXfer:libraries:read section offsets support. 2008-03-14 Vladimir Prus * defs.h (do_exec_error_cleanups, discard_exec_error_cleanups) (make_exec_error_cleanup): Remove declarations. * utils.c (exec_error_cleanup_chain): Remove. (do_exec_error_cleanups, discard_exec_error_cleanups) (make_exec_error_cleanup): Remove. * event-loop.c (start_event_loop): Adjust call to async_enable_stdin. * event-top.c (async_enable_stdin): Remove the paramater dummy. (async_disable_stdin): Don't register async_enable_stdin via cleanup. * inf-loop.c (inferior_event_handler): Don't call do_exec_error_cleanups. Call async_enable_stdin instead. * event-loop.c (start_event_loop): Adjust call to async_enable_stdin. * tui/tui-interp.c (tui_command_loop): Adjust call to async_enable_stdin. 2008-03-14 Vladimir Prus Async mode fixes. * Makefile.in (infcmd.o, inf-loop.o): Update dependencies. * breakpoint.c (bpstat_do_actions): In async mode, don't jump to top expecting stop_bpstat to be already updated. * event-loop.c (start_event_loop): Call async_enable_stdin on exception. * event-top.c (async_enable_stdin): Do nothing if sync_execution is not set. (command_handler): Do not setup continuation here. (command_line_handler_continuation): Move to... * top.c (command_line_handler_continuation): ... here. (execute_command): In async mode, register continuation. Don't check frame's language in running in async mode. * exceptions.c (throw_exception): Don't do exec_error_cleanups. * inf-loop.c (complete_execution): Inline into... (inferior_event_handler): ... here. Clear target_executing before doing any cleanups. Don't try to show prompt if the target was resumed. * infcmd.c (signal_command): Add support for async mode. (finish_command): Only add continuation if the target was successfully resumed. * remote.c (init_async_opts): Register to_get_thread_local_address handler. * mi/mi-interp.c (mi_cmd_interpreter_exec): Don't mess with sync_execution. * tui/tui-interp.c (tui_command_loop): Call async_enable_stdin on exception. 2008-03-14 Daniel Jacobowitz * corefile.c (reopen_exec_file): Use exec_bfd_mtime. * exec.c (exec_bfd_mtime): Define. (exec_close): Clear it. (exec_file_attach): Set it. * gdbcore.h (exec_bfd_mtime): Declare. * source.c (find_source_lines): Do not use bfd_get_mtime. 2008-03-14 Vladimir Prus * top.c (simplified_command_loop): Remove. 2008-03-14 Vladimir Prus Remove unused remote.c hooks. * remote.c (deprecated_target_resume_hook) (deprecated_target_wait_loop_hook): Remove. (remote_resume): Do not call deprecated_target_resume_hook. (remote_wait): Do not call deprecated_target_wait_loop_hook. (remote_async_wait): Likewise. 2008-03-14 Vladimir Prus Implement MI notification for new threads. * doc/observer.texi (new_thread): Document. * observer.sh: Forward declare struct thread_info. * thread.c (add_thread): Notify observer. * interps.h (interp_init_ftype): New parameter top_level. (interp_set): Likewise. (top_level_interpreter_data): Declare. * interps.c (interp_set): New parameter top_level. Pass it to interpreter's init function. Remember top level interpreter. (interpreter_exec_cmd): Adjust. (top_level_interpreter_data): New. * main.c (captured_main): Pass 1 for top_level parameter of interp_set. * cli/cli-interp.c (cli_interpreter_init): New parameter top_level. * tui/tui-interp.c (tui_init): New parameter top_level. * mi/mi-interp.c (mi_new_thread): New. (mi_interpreter_init): If top level, register observer for new threads. * Makefile.in (mi-interp.o, thread.o): Update dependencies. 2008-03-14 Pedro Alves * top.c (execute_command): Disable break and stop commands in async mode. 2008-03-14 Pedro Alves revert: 2008-03-14 Pedro Alves * inf-loop.c (inferior_event_handler): Don't include remote.h. Call target_stop in the INF_QUIT_REQ case. * Makefile.in (inf-loop.o): Update. 2008-03-14 Pedro Alves * inf-loop.c (inferior_event_handler): Don't include remote.h. Call target_stop in the INF_QUIT_REQ case. * Makefile.in (inf-loop.o): Update. 2008-03-14 Pedro Alves * top.c (execute_command): Enable break, info and interrupt commands in async mode. 2008-03-13 Vladimir Prus Daniel Jacobowitz * breakpoint.h (breakpoint_restore_shadows): New declaration. * breakpoint.c (breakpoint_restore_shadows): New. (read_memory_nobpt): Delete. * gdbcore.h (read_memory_nobpt): Delete declaration. * target.c (memory_xfer_partial): Call breakpoint_restore_shadows. (restore_show_memory_breakpoints) (make_show_memory_beakpoints_cleanup): New. (show_memory_breakpoints): New. * target.h (make_show_memory_beakpoints_cleanup): Declare. * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Make sure we see memory breakpoints when checking if breakpoint is still there. * alpha-tdep.c, alphanbsd-tdep.c, frame.c, frv-tdep.c, hppa-linux-tdep.c, hppa-tdep.c, i386-linux-nat.c, i386-tdep.c, m68klinux-tdep.c, mips-tdep.c, mn10300-tdep.c, s390-tdep.c, sparc-tdep.c: Use target_read_memory instead of read_memory_nobpt. 2008-03-12 Pedro Alves * thread.c (add_thread): Use printf_unfiltered to print. 2008-03-12 Joel Brobecker * sol-thread.c: Replace use of TM_I386SOL2_H by an expression that is true only on x86-solaris and x86_64-solaris. * procfs.c: Likewise. Move procfs_find_LDT_entry up together with proc_get_LDT_entry. 2008-03-12 Thiago Jung Bauermann * configure.ac (AC_CHECK_FUNCS): Add check for setsid. * config.in, configure: Regenerate. * fork-child.c (fork_inferior): Call create_tty_session. * inflow.c (new_tty): Set controlling terminal with TIOCSCTTY. (create_tty_session): New function. * terminal.h: Declare create_tty_session. 2008-03-12 Alan Modra PR 5900 * elfread.c (elf_symtab_read): Make shndx an unsigned int. * mipsread.c: Include elf/internal.h. (read_alphacoff_dynamic_symtab): Map external reserved sym_shndx to internal range. 2008-03-11 Markus Deuling * win32-nat.c (do_win32_fetch_inferior_registers): Use get_regcache_arch to get at the current architecture and at the target specific vector. Add target specific vector to I387_FISEG_REGNUM and I387_FOP_REGNUM and remove define of I387_ST0_REGNUM. * amd64-tdep.c (I387_ST0_REGNUM): Remove define. (amd64_supply_fxsave, amd64_collect_fxsave): Use get_regcache_arch to get at the current architecture (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Add target specific vector as parameter. * i386-tdep.c: Remove various define's and undef's of I387_ST0_REGNUM, I387_NUM_XMM_REGS and I387_MM0_REGNUM. (I387_NUM_XMM_REGS, I387_XMM0_REGNUM, I387_MXCSR_REGNUM, I387_ST0_REGNUM, I387_FCTRL_REGNUM, I387_MM0_REGNUM, (I387_FSTAT_REGNUM): Add target specific vector as parameter. (i386_register_name, i386_dbx_reg_to_regnum): Use gdbarch_tdep to get at the target specific vector. (i386_get_longjmp_target): Use get_frame_arch to get at the current architecture. Use gdbarch_tdep to get at the target specific vector. (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as parameter and update caller. Use gdbarch_tdep to get at the target specific vector. (i386_register_to_value: Use get_frame_arch to get at the current architecture. * i386-tdep.h (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as parameter. * i387-tdep.c (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_ST0_REGNUM, FSAVE_ADDR, FXSAVE_ADDR, I387_XMM0_REGNUM): Add target specific vector as parameter. (I387_ST0_REGNUM, I387_NUM_XMM_REGS): Remove various define's and undef's. (i387_convert_register_p, i387_register_to_value, i387_value_to_register): Update call for i386_fp_regnum_p. * i387-tdep.h: Remove comment. (I387_ST0_REGNUM, I387_NUM_XMM_REGS, I387_MM0_REGNUM): Add define. (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM, I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_XMM0_REGNUM, I387_MXCSR_REGNUM): Add target specific vector as parameter. 2008-03-10 Daniel Jacobowitz * Makefile.in (fork-child.o): Update. * NEWS: Document "set exec-wrapper" and the gdbserver --wrapper argument. Gather all gdbserver features together. * fork-child.c (exec_wrapper): New variable. (fork_inferior): Use it. (startup_inferior): Skip an extra trap if using "set exec-wrapper". (unset_exec_wrapper_command, _initialize_fork_child): New. 2008-03-10 Hidetaka Takano * source.c (directory_command): Modify the determination of condition of terminal "from_tty". 2008-03-10 Matt Rice * dwarf2read.c (set_cu_language): Add DW_LANG_ObjC. 2008-03-10 Hidetaka Takano * spu-tdep.c (info_spu_event_command): Insert a '\0' to the end of the data passing to strtoulst function. (info_spu_signal_command): Likewise. 2008-03-08 Vladimir Prus * mi/mi-interp.c (mi_command_loop): Remove commented-out code. 2008-03-07 Joel Brobecker * remote.c (extended_remote_attach_1): Make local variable pid an int instead of a pid_t. 2008-03-07 Joel Brobecker * solib-svr4.c (svr4_same_1): New function, originally extracted from svr4_same and expanded to handle the sparc64 case. (svr4_same): Move up and reimplement using svr4_same_1. (enable_break): Use svr4_same_1 to do shared library name comparisons. 2008-03-07 Ramana Radhakrishnan * MAINTAINERS: Move self to Paper trail. 2008-03-05 Daniel Jacobowitz * Makefile.in (mingw-hdep.o, posix-hdep.o, remote-fileio.o): Update. * event-loop.c (call_async_signal_handler): New. * event-loop.h (call_async_signal_handler) (gdb_call_async_signal_handler): Declare. (mark_async_signal_handler): Add comments. * event-top.c (handle_sigint): Use gdb_call_async_signal_handler. * mingw-hdep.c (sigint_event, sigint_handler): New. (gdb_select): Use them. Wait for the readline signal handler to finish. (gdb_call_async_signal_handler, _initialize_mingw_hdep): New functions. * posix-hdep.c (gdb_call_async_signal_handler): New function. * remote-fileio.c (sigint_fileio_token, async_remote_fileio_interrupt): New. (remote_fileio_ctrl_c_signal_handler): Use gdb_call_async_signal_handler. (initialize_remote_fileio): Initialize sigint_fileio_token. * remote.c (initialize_sigint_signal_handler, handle_remote_sigint): Do not initialize tokens here. (handle_remote_sigint_twice): Likewise. Reinstall handle_remote_sigint. (async_remote_interrupt_twice): Just call interrupt_query. (cleanup_sigint_signal_handler): Do not delete tokens. (remote_interrupt, remote_interrupt_twice): Use gdb_call_async_signal_handler. (interrupt_query): Reinstall the default signal handler. (_initialize_remote): Initialize tokens here. 2008-03-04 Joel Brobecker * features/rs6000/power-core.xml, features/rs6000/power64-core.xml, features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml: Change the type of the lr register to code_ptr. * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c, features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c, features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c, features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c, features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c, features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c, features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c: Regenerate. 2008-03-03 James E. Wilson * MAINTAINERS: Update my email address. 2008-03-03 Keith Seitz From Dave Murphy : * configure.ac: Set tcl configdir to win under mingw. * configure: Regenerate. 2008-03-03 Daniel Jacobowitz * breakpoint.c (fetch_watchpoint_value): New function. (update_watchpoint): Set and clear val_valid. Use fetch_watchpoint_value. Handle unreadable values on the value chain. Correct check for user-requested array watchpoints. (breakpoint_init_inferior): Clear val_valid. (watchpoint_value_print): New function. (print_it_typical): Use it. Do not free or clear old_val. Print watchpoints even if old_val == NULL. (watchpoint_check): Use fetch_watchpoint_value. Check for values becoming readable or unreadable. (watch_command_1): Use fetch_watchpoint_value. Set val_valid. (do_enable_watchpoint): Likewise. * breakpoint.h (struct breakpoint): Update comment for val. Add val_valid. * NEWS: Mention watchpoints on inaccessible memory. 2007-02-29 Daniel Jacobowitz * Makefile.in (i386-nat.o): Update. * amd64-linux-nat.c (_initialize_amd64_linux_nat): Call i386_use_watchpoints. * i386-linux-nat.c (_initialize_i386_linux_nat): Call i386_use_watchpoints. * i386-nat.c (i386_stopped_data_address): Take two arguments. (i386_stopped_by_watchpoint): Update call. (i386_can_use_hw_breakpoint, i386_use_watchpoints): New. * config/i386/nm-i386.h: Conditionalize definitions on ! I386_WATCHPOINTS_IN_TARGET_VECTOR. (i386_use_watchpoints): Declare. (i386_stopped_data_address): Update. * config/i386/nm-linux.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define. * config/i386/nm-linux64.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define. 2008-02-29 Joel Brobecker GDB 6.8 branch created (branch timestamp: 2008-02-26 10:00 UTC) * version.in: Bump version to 6.8.50.20080229-cvs. 2008-02-28 Markus Deuling * f-typeprint.c (f_print_type): Handle NULL pointer in VARSTRING properly. 2008-02-28 Tom Tromey * infcmd.c (notice_args_read): Print result of get_inferior_args. 2008-02-28 Daniel Jacobowitz * infcmd.c (kill_if_already_running): Make static. Use target_require_runnable. * target.c (target_require_runnable): New. * target.h (target_require_runnable): Declare. 2008-02-28 Daniel Jacobowitz * frame.c (reinit_frame_cache): Only annotate if frames were previously valid. 2008-02-28 Ulrich Weigand * regformats/reg-ppc.dat: Rename "ps" to "msr". * regformats/reg-ppc64.dat: Likewise. 2008-02-28 Ulrich Weigand * features/Makefile (%.dat): Emit xmltarget statement. * regformats/regdat.sh: Support xmltarget and xmlarch statments. Generate code to set gdbserver_xmltarget in init_registers_${name}. * regformats/arm-with-iwmmxt.dat: Regenerate. * regformats/mips64-linux.dat: Regenerate. * regformats/mips-linux.dat: Regenerate. * regformats/rs6000/powerpc-32.dat: Regenerate. * regformats/rs6000/powerpc-64.dat: Regenerate. * regformats/rs6000/powerpc-e500.dat: Regenerate. * regformats/reg-arm.dat: Add xmlarch statement. * regformats/reg-i386.dat: Likewise. * regformats/reg-i386-linux.dat: Likewise. * regformats/reg-x86-64-linux.dat: Likewise. * regformats/reg-spu.dat: Likewise. 2008-02-27 Daniel Jacobowitz * remote.c (remote_wait, remote_async_wait): Stop if we receive an error. 2008-02-27 Daniel Jacobowitz * utils.c (debug_timestamp): New. (vfprintf_unfiltered): Print timestamps if requested. (show_debug_timestamp): New. (initialize_utils): Register "set debug timestamp". * NEWS: Mention "set debug timestamp". Add GDB 6.8 section. 2008-02-27 Joel Brobecker * breakpoint.c (skip_prologue_sal): New function. (resolve_sal_pc): Adjust SAL past prologue if the SAL was computed from a line number. 2008-02-27 Joel Brobecker * features/rs6000/power-core.xml, features/rs6000/power64-core.xml features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml: Set PC register type to "code_ptr". * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c, features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c, features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c, features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c, features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c, features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c, features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c: Regenerate. 2008-02-27 Ulrich Weigand * regformats/regdat.sh: Rename init_registers function in generated file to init_registers_${name}. * regformats/reg-crisv32.dat: Set "name" to crisv32. * regformats/reg-ppc64.dat: Set "name" to ppc64. * regformats/reg-s390x.dat: Set "name" to s390x. 2008-02-26 Greg Law * regcache.c (registers_changed): Call reinit_frame_cache. 2008-02-26 Daniel Jacobowitz * configure.tgt (sh-*-linux*): Match sh*. Add glibc-tdep.o. * sh-linux-tdep.c (sh_linux_init_abi): Use glibc_skip_solib_resolver and svr4_fetch_objfile_link_map. * Makefile.in (sh-linux-tdep.o): Update. 2008-02-26 Thiago Jung Bauermann * amd64-tdep.c (amd64_classify): Add support for decimal float types. * i386-tdep.c (i386_return_value): Make 128-bit decimal float use the struct return convention. 2008-02-26 Nick Roberts * breakpoint.c (print_one_breakpoint_location): Revert Enb field to old format. Discard breakpoint address if shared library is unloaded. (breakpoint_1): Adjust formatting of table header accordingly. 2008-02-25 Vladimir Prus * remote.c (remote_get_threadlist): If the response is empty, don't try to parse it. 2008-02-23 Vladimir Prus Unbreak 'target async'. * serial.c (serial_async): Set the handler function before enabling async mode. 2008-02-22 Daniel Jacobowitz * solib-svr4.c (enable_break): Convert r_brk to a code address. 2008-02-21 Pedro Alves * remote.c (extended_remote_attach_1): Set attach_flag. (extended_remote_create_inferior_1): Clear attach_flag. 2008-02-20 Daniel Jacobowitz * mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Set r_brk_offset. (mipsnbsd_lp64_fetch_link_map_offsets): Likewise. * solib-svr4.c (solib_svr4_r_brk): New. (open_symbol_file_object, svr4_current_sos): Always check the debug base. (svr4_fetch_objfile_link_map): Do not set debug_base. (enable_break): Use r_brk if it is set. (svr4_ilp32_fetch_link_map_offsets): Set r_brk_offset. (svr4_lp64_fetch_link_map_offsets): Likewise. * solib-svr4.h (struct link_map_offsets): Add r_brk_offset. 2008-02-20 Markus Deuling Mark Kettenis * alpha-tdep.c (alpha_heuristic_unwind_cache): Replace saved_regs by trad_frame_saved_reg. (trad-frame.h): New include. (alpha_heuristic_frame_unwind_cache): Use trad_frame_alloc_saved_regs instead of frame_obstack_zalloc. (alpha_heuristic_frame_prev_register): Use trad_frame_get_prev_register. * Makefile.in (alpha-tdep.o): Add dependency to trad_frame_h. 2008-02-20 Markus Deuling * rs6000-tdep.c (gdb_print_insn_powerpc): Get the current endianess from disassemble_info instead of gdbarch_byte_order. * mips-tdep.c (gdb_print_insn_mips): Likewise. * arm-tdep.c (gdb_print_insn_arm): Likewise. 2008-02-20 Markus Deuling * gdbarch.sh (memory_insert_breakpoint, memory_remove_breakpoint): Add gdbarch as parameter. * gdbarch.{c,h}: Regenerate. * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Add gdbarch as parameter. * mem-break.c (default_memory_insert_breakpoint) (default_memory_remove_breakpoint): Likewise. * target.h (default_memory_remove_breakpoint) (default_memory_insert_breakpoint): Likewise. * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. * m32r-tdep.c (m32r_memory_insert_breakpoint) (m32r_memory_remove_breakpoint): Likewise. 2008-02-19 Daniel Jacobowitz * MAINTAINERS: Add Vladimir Prus as MI maintainer. 2008-02-19 Joel Brobecker * NEWS: Add entry describing Add support improvements. 2008-02-18 Markus Deuling * m68klinux-nat.c (getfpregs_supplies): Replace gdbarch_fp0_regnum by M68K_FP0_REGNUM. 2008-02-18 Markus Deuling * sentinel-frame.c (sentinel_frame_prev_register): Do not call register_offset_hack anymore. * regcache.{c,h} (register_offset_hack): Remove. 2008-02-18 Markus Deuling * hppa-tdep.h (find_global_pointer): Add gdbarch as parameter. * hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer): Likewise. Replace current_gdbarch by gdbarch. (hppa64_hpux_find_global_pointer): Likewise. * hppa-tdep.c (hppa_find_global_pointer): Likewise. (hppa32_push_dummy_call, hppa64_push_dummy_call): Update call for find_global_pointer. * hppabsd-tdep.c (hppabsd_find_global_pointer): Add gdbarch as parameter. * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise. * hppa-linux-nat.c (hppa_linux_register_addr): Use ARRAY_SIZE instead of gdbarch_num_regs. * hppa-hpux-tdep.c (hppa_hpux_sr_for_addr): Add gdbarch as parameter and replace current_gdbarch by gdbarch. (hppa_hpux_push_dummy_code): Update call for hppa_hpux_sr_for_addr. 2008-02-18 Markus Deuling * rs6000-nat.c (exec_one_dummy_insn, regmap): Add gdbarch as parameter and replace current_gdbarch by gdbarch. (store_register): Update call for exec_one_dummy_insn. (fetch_register, store_register): Update call of regmap. * ppcnbsd-nat.c (getregs_supplies, getfpregs_supplies): Add gdbarch as parameter and replace current_gdbarch by gdbarch. (ppcnbsd_store_inferior_registers): Use get_regcache_arch to get at the current architecture. Update call for getregs_supplies and getfpregs_supplies. (ppcnbsd_fetch_inferior_registers): Likewise. * ppcobsd-nat.c (getfpregs_supplies): Add gdbarch as parameter and replace current_gdbarch by gdbarch. (ppcobsd_fetch_registers, ppcobsd_store_registers): Use get_regcache_arch to get at the current architecture. Update call for getfpregs_supplies. 2008-02-18 Markus Deuling * arch-utils.c (gdbarch_from_bfd): Remove unnecessary {old,new}_gdbarch variables. 2008-02-15 Markus Deuling * mips-linux-tdep.c (mips_linux_init_abi): Remove internal error. 2008-02-14 Vladimir Prus * NEWS: Mention pending breakpints in MI. 2008-02-14 Markus Deuling * Makefile.in (ALL_TARGET_OBS): Remove dependency to xtensa-linux-nat.o. 2008-02-13 Markus Deuling Add script to build and test GDB using enable-targets=all. * gdb_buildall.sh: New file. 2008-02-11 Maxim Grigoriev * NEWS (New native configurations): Xtensa GNU/Linux. (New targets): Xtensa GNU/Linux. * Makefile.in (ALL_TARGET_OBS): Add xtensa-linux-nat.o and xtensa-linux-tdep.o (ALLDEPFILES): Add xtensa-linux-tdep.c and xtensa-linux-nat.c (xtensa-linux-nat.o, xtensa-linux-tdep.o): New dependencies. * configure.tgt (xtensa*-*-linux*): New entry. * xtensa-config.c (xtensa_tdep): New variable. (xtensa_config_byte_order, xtensa_config_tdep): Removed. (rmap): Change format based on new macro XTREG. (XTENSA_CONFIG_INSTANTIATE): Use new macro defined in xtensa-tdep.h. * xtensa-linux-nat.c: New. * xtensa-linux-tdep.c: New. * xtensa-xtregs.c: New. * xtensa-tdep.h (xtensa_elf_gregset_t): Update. (XTENSA_ELF_NGREG, XTREG, XTREG_END, XTENSA_GDBARCH_TDEP_INSTANTIATE) (XCHAL_NUM_CONTEXTS, XCHAL_HAVE_EXCEPTIONS): New macros. (xtensa_register_t): New field coprocessor. (XTENSA_REGISTER_FLAGS_PRIVILEGED): Name spelling corrected. * xtensa-tdep.c (xtensa_config_tdep, xtensa_config_byte_order): Removed. (xtensa_pseudo_register_read, xtensa_pseudo_register_write): Update to handle privileged registers. (xtensa_supply_gregset) Remove exccause and excvaddr registers. (xtensa_push_dummy_call): Set windowstart register correctly. (call0_analyze_prologue): Initialize xtensa_default_isa. (xtensa_derive_tdep): New. (xtensa_gdbarch_init): Get rid of xtensa_config_byte_order and xtensa_config_tdep, use XCHAL_HAVE_BE and xtensa_tdep instead. Call xtensa_derive_tdep(). * config/xtensa/linux.mh: New. * regformats/reg-xtensa.dat: New. 2008-02-09 Aleksandar Ristovski (tiny change) * corelow.c (core_open): Use IS_ABSOLUTE_PATH. (filenames.h): New include. * Makefile.in (corelow.o): Add dependency for filenames.h. 2008-02-08 Doug Evans * source.c (find_and_open_source): Always rewrite absolute filenames. 2008-02-07 Doug Evans * breakpoint.c: #include "hashtab.h". (ambiguous_names_p): New fn. (update_breakpoint_locations): When restoring bp enable status, don't compare function names if any functions have same name. * Makefile.in (breakpoint.o): Add hashtab.h dependency. 2008-02-07 Joel Brobecker * ada-lang.c (symbol_completion_add): Make SV parameter a VEC** instead of just a VEC*. Update use of SV. (ada_make_symbol_completion_list): Update symbol_completion_add calls. 2007-02-07 Joel Brobecker * NEWS: Put all new commands since gdb-6.7 together. 2007-02-07 Joel Brobecker * ada-lang.c: #include "vec.h". (struct string_vector, new_string_vector, string_vector_append): Delete. (char_ptr): New typedef. (DEF_VEC_P (char_ptr)): New VEC type. (symbol_completion_add): Update profile to take the new VEC type instead of the old string_vector structure. Update code accordingly. (ada_make_symbol_completion_list): Use the new VEC type instead of the old string_vector structure, and update the code accordingly. * Makefile.in (ada-lang.o): Add dependency on vec.h. 2008-02-06 Pierre Muller * p-exp.y: Set current_type in missing places. (leftdiv_is_integer): New static variable. Typecast right operand of BINOP_DIV to long_double if both operands are integers. 2008-02-06 Maciej W. Rozycki * remote-mips.c (set_breakpoint): Rename to... (mips_set_breakpoint): ... this. (clear_breakpoint): Rename to... (mips_clear_breakpoint): ... this. (common_breakpoint): Rename to... (mips_common_breakpoint): ... this. (check_lsi_error): Rename to... (mips_check_lsi_error): ... this. 2007-02-05 Joel Brobecker * language.h (struct language_defn): Add new field la_make_symbol_completion_list. * symtab.c (default_make_symbol_completion_list): Renames make_symbol_completion_list. (make_symbol_completion_list): New function. * symtab.h (default_make_symbol_completion_list): Add declaration. * langauge.c (unknown_language): Set la_make_symbol_completion_list. (auto_language, local_language): Likewise. * objc-lang.c (objc_language_defn): Likewise. * scm-lang.c (scm_language_defn): Likewise. * m2-lang.c (m2_language_defn): Likewise. * f-lang.c (f_language_defn): Likewise. * jv-lang.c (java_language_defn): Likewise. * p-lang.c (pascal_language_defn): Likewise. * c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn) (minimal_language_defn): Likewise. * ada-lang.c (struct string_vector): New structure. (new_string_vector, string_vector_append, ada_unqualified_name) (add_angle_brackets, symbol_completion_match, symbol_completion_add) (ada_make_symbol_completion_list): New functions. (ada_language_defn): Set la_make_symbol_completion_list. * ada-lang.h (ada_make_symbol_completion_list): Remove declaration, this function is static. 2008-02-05 Kevin Buettner * mn10300-tdep.c (mn10300_push_dummy_call): Adjust stack pointer to account for call site optimizations. 2008-02-05 Andrzej Zaborowski * tracepoint.c (read_actions): Handle end-of-text indicator in action list properly. (Committed by Jim Blandy) 2008-02-05 Jim Blandy * ax-gdb.c (gen_expr): Yield ordinary error if asked to trace a pseudoregister, not an internal error. Reported by: Andrzej Zaborowski 2008-02-04 Vladimir Prus * varobj.c (c_value_of_variable): Use xstrdup. 2008-02-04 Vladimir Prus Update stored rendition of varobj value when format changes. * varobj.c (varobj_set_display_format): Recomputed print_value. (c_value_of_variable): Return print_value. 2008-02-03 Doug Evans * eval.c (evaluate_subexp_standard): Fix type of result of mixed integer/float division operations when EVAL_AVOID_SIDE_EFFECTS. * valops.c (value_one): New function. * value.h (value_one): Declare. Fix argument promotion for binary arithmetic ops for C. * valarith.c (unop_result_type): New fn. (binop_result_type): New fn. (value_binop): Move result type computation to binop_result_type. (value_pos, value_neg, value_complement): Move result type computation to unop_result_type. PR 2384 * gdbtypes.c (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno. Return basetype, fieldno if found. All callers updated. Don't cache TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE if from different objfile. * gdbtypes.h (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno. * symfile.h (fill_in_vptr_fieldno): Delete. 2008-02-02 Doug Evans * valarith.c (value_binop): Handle unsigned BINOP_REM division by zero. * typeprint.c (*): Whitespace cleanup. 2008-02-02 Mark Kettenis Luis Machado Thiago Jung Bauermann * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Pass floats that don't fit into registerson the stack the way GCC does. 2008-02-01 Joel Brobecker * symtab.c (symbol_set_names): Do not add an entry in the demangling hash table for Ada symbols. Just store the linkage name as is, and leave the demangled_name as NULL. 2007-02-01 Joel Brobecker * dwarf2read.c (add_partial_symbol): Always store all Ada subprograms in the global scope. (new_symbol): Likewise. 2008-02-01 Vladimir Prus * breakpoint.c (break_command_1): Return void. (break_command_really): Return void. Rethrow exceptions instead of returning. (gdb_breakpoint): Remove the error_message parameter. Return void. Rename to set_breakpoint. * gdb.h (gdb_breakpoint): Rename and move to... * breakpoint.h (set_breakpoint): ...here. * mi/mi-cmb-break.c (mi_cmd_break_insert): Restore event hooks even if exception is thrown. Adjust to gdb_breakpoint interface changes. 2008-02-01 Thiago Jung Bauermann * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Write 32-bit float in both first and second word in the doubleword, to support old and new ABIs. 2008-02-01 Vladimir Prus Properly rethrow exception. This fixes errors about non-existent functions for -break-insert. * breakpoint.c (break_command_really): Use throw_exception for rethrowing. If rethrowing, don't print the exception. 2008-01-31 Thiago Jung Bauermann * NEWS: Mention Decimal Floating Point support. 2008-01-31 Joel Brobecker * std-regs.c (value_of_builtin_frame_pc_reg): Change the returned value type to builtin_type_void_func_ptr. 2008-01-31 Andreas Krebbel * s390-tdep.c (is_float_singleton, is_float_like, alignment_of, s390_return_value): Make checks for TYPE_CODE_FLT to match TYPE_CODE_DECFLOAT as well. 2008-01-31 Luis Machado Thiago Jung Bauermann * infcmd.c (default_print_registers_info): Also print hex raw contents for TYPE_CODE_DECFLOAT registers. * ppc-tdep.h (gdbarch_tdep): Add ppc_dl0_regnum member. * rs6000-tdep.c (IS_DFP_PSEUDOREG): New macro. (rs6000_register_name): Add support for DFP pseudo-registers. (rs6000_pseudo_register_type): Likewise. rs6000_pseudo_register_reggroup_p): Likewise. (ppc_pseudo_register_read): New function. (ppc_pseudo_register_write): Likewise. (rs6000_pseudo_register_read): Likewise. (rs6000_pseudo_register_write): Likewise. (e500_pseudo_register_read): Move checks to rs6000_pseudo_register_read. (e500_pseudo_register_write): Move checks to rs6000_pseudo_register_write. (rs6000_gdbarch_init): Initialize tdep->ppc_dl0_regnum. Install rs6000_pseudo_register_read and rs6000_pseudo_register_write in gdbarch if SPE or DFP is available. Adjust gdbarch's num_pseudo_regs to account for DFP pseudo regs. 2008-01-31 Thiago Jung Bauermann * ppc-tdep.h (struct gdbarch_tdep): Remove ppc_ev31_regnum member. * rs6000-tdep.c (IS_SPE_PSEUDOREG): New macro. (spe_register_p, rs6000_register_name, rs6000_pseudo_register_type, rs6000_pseudo_register_reggroup_p, e500_move_ev_register, e500_pseudo_register_read, e500_pseudo_register_write): Use IS_SPE_PSEUDOREG macro. (rs6000_frame_cache): Remove use of tdep->ppc_ev31_regnum. (rs6000_gdbarch_init): Remove unnecessary num_sprs local variable. Remove initialization of tdep->ppc_ev31_regnum. 2008-01-08 Paul Hilfinger * printcmd.c (print_formatted): Handle references as for unformatted prints. 2008-01-30 Joel Brobecker * eval.c (evaluate_subexp_standard): Add handling of user registers when in EVAL_AVOID_SIDE_EFFECTS mode. 2008-01-30 Pierre Muller * eval.c (evaluate_subexp_standard): Support BINOP_INTDIV opcode. 2008-01-30 Paul N. Hilfinger * valarith.c (value_binop): Add floating-point BINOP_MIN and BINOP_MAX cases. For BINOP_EXP, use length and signedness of left operand only for result, as for shifts. For integral operands to BINOP_EXP, use new integer_pow and uinteger_pow functions so as to get full range of results. (integer_pow): New function. (uinteger_pow): New function. 2008-01-30 Vladimir Prus Use vector for varobj_list_children interface. * gdb/varobj.c (varobj_list_children): Return vector of varobjs. * gdb/varobj.h (varobj_list_children): Adjust prototype. (varobj_p): Declare. Declare vector thereof. * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust for varobj_list_children change. * Makefile.in (varobj_h): Update dependencies. 2008-01-30 Thiago Jung Bauermann * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Add support for TYPE_CODE_DECFLOAT arguments. (ppc64_sysv_abi_push_dummy_call) Likewise. (get_decimal_float_return_value): New function. (do_ppc_sysv_return_value): Add support for TYPE_CODE_DECFLOAT return values by calling get_decimal_float_return_value. (ppc64_sysv_abi_return_value): Likewise. 2008-01-30 Nick Roberts * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field for preprocessor macro information. Formatting changes. 2008-01-29 Daniel Jacobowitz * remote.c (struct remote_state): Add cached_wait_status. (remote_exec_file): New variable. (PACKET_vAttach, PACKET_vRun): New constants. (extended_remote_restart): Do not query for status. (struct start_remote_args): New. (remote_start_remote): Take it as a second argument. Check whether the target is running. Issue an error for non-running non-extended targets. Cache the wait status. Set inferior_ptid here. (remote_open_1): Prompt to disconnect non-running targets. Make sure the target is marked running. Do not set inferior_ptid here. Update call to remote_start_remote. Do not call remote_check_symbols if the target is not running. (remote_detach_1): Rename from remote_detach. Take an EXTENDED argument. Handle a non-running target. (remote_detach): Use it. (extended_remote_detach): New. (remote_disconnect): Fix typo. Use remoute_mourn_1. (extended_remote_attach_1, extended_remote_attach) (extended_async_remote_attach): New. (remote_vcont_resume): Remove unused variable. (remote_wait, remote_async_wait): Use any cached wait status. (putpkt_binary, getpkt): Clear any cached wait status. (extended_remoute_mourn_1): New. (extended_remote_mourn): Use it. (extended_async_remote_mourn, extended_remote_run): New. (extended_remote_create_inferior_1): New. (extended_remote_create_inferior): Use it. (extended_remote_async_create_inferior): Likewise. (remote_xfer_partial): Skip for non-executing targets. (init_extended_remote_ops): Set to_detach and to_attach. (init_extended_async_remote_ops): Likewise. Use extended_async_remote_mourn. (_initialize_remote): Register vAttach, vRun, and set remote exec-file. * NEWS: Mention vAttach, vRun, and gdbserver extended-remote support. 2008-01-29 Daniel Jacobowitz * Makefile.in (symfile.o): Update. * NEWS: Mention exec tracing support. * inf-ttrace.c (inf_ttrace_wait): Return TARGET_WAITKIND_EXECD for exec events. * infcmd.c (kill_if_already_running, detach_command) (disconnect_command): Replace SOLIB_RESTART with no_shared_libraries. * infrun.c (MAY_FOLLOW_EXEC, may_follow_exec): Delete. (follow_exec): Do not check may_follow_exec. Do not mourn and push targets. Apply the sysroot path to the loaded executable. Use no_shared_libraries. * linux-nat.c (linux_child_follow_fork): Print fork following messages if verbose. (kill_wait_callback): Kill again before waiting a second time. * symfile.c (symbol_file_clear): Replace SOLIB_RESTART with no_shared_libraries. 2008-01-29 Joel Brobecker * amd64-tdep.c (amd64_classify): Add handling of TYPE_CODE_CHAR. 2008-01-29 Joel Brobecker * nto-tdep.h: Remove #include "defs.h". * nto-tdep.c: Add #include "defs.h". * Makefile.in (nto_tdep_h): Update dependencies. (nto-tdep.o): Likewise. 2008-01-29 Joel Brobecker * infrun.c (wait_for_inferior): Add treat_exec_as_sigtrap parameter and use it. (proceed, start_remote): Update call to wait_for_inferior. * inferior.h (wait_for_inferior): Update declaration. * fork-child.c, infcmd.c, solib-irix.c, solib-osf.c, solib-sunos.c, solib-svr4.c, win32-nat.c: Update calls to wait_for_inferior. * inf-ttrace.c (inf_ttrace_wait): Report TTEVT_EXEC events as TARGET_WAITKIND_EXECD instead of TARGET_WAITKIND_STOPPED. 2008-01-29 Aleksandar Ristovski * varobj (adjust_value_for_child_access): Added checking for returned value from gdb_value_ind. (c_describe_child): Likewise. (cplus_describe_child): Fixed a typo. 2008-01-29 Jim Blandy * MAINTAINERS: Update my info. 2008-01-29 Vladimir Prus Use multiple locations for hardware watchpoints. This eliminates the need to traverse value chain, doing various checks, in three different places. * breakpoint.h (struct bp_location): New fields lengths and watchpoint_type. (struct breakpoint): Remove the val_chain field. * breakpoint.c (is_hardware_watchpoint): New. (free_valchain): Remove. (update_watchpoint): New. (insert_bp_location): For hardware watchpoint, just directly insert it. (insert_breakpoints): Call update_watchpoint_locations on all watchpoints. If we have failed to insert any location of a hardware watchpoint, remove all inserted locations. (remove_breakpoint): For hardware watchpoints, directly remove location. (watchpoints_triggered): Iterate over locations. (bpstat_stop_status): Use only first location of a resource watchpoint. (delete_breakpoint): Don't call free_valchain. (print_one_breakpoint): Don't print all locations for watchpoints. (breakpoint_re_set_one): Use update_watchpoint for watchpoints. 2008-01-29 Vladimir Prus Don't reset watchpoint block on solib load. * breakpoint.c (insert_bp_location): For watchpoints, recompute condition. (breakpoint_re_set_one): Instead of recomputing value and condition for watchpoints, just reset value and let insert_breakpoints/insert_bp_location recompute it. Don't do anything about disabled watchpoint. 2008-01-29 Pierre Muller * valarith.c (value_binop): Handle unsigned integer division by zero. 2008-01-28 Kevin Buettner * mn10300-tdep.c (mn10300_analyze_prologue): Check for an instruction pattern that appears frequently in position independent code. Fix bug in code which looks for "fmov" and backtracks if no "fmov" is found. 2008-01-28 Doug Evans * dbxread.c (read_dbx_symtab): Fix indentation. Reformat comments to 80 columns. Move local var def closer to only use. 2008-01-28 Daniel Jacobowitz * fork-child.c (SHELL_FILE): Remove #ifndef. (fork_inferior): Remove SHELL_COMMAND_CONCAT. 2008-01-25 Pierre Muller * i386-tdep.c (i386_skip_noop): New function. (i386_analyze_prologue): Call i386_skip_noop function. 2008-01-24 Michael Snyder * procfs.c (procfs_xfer_partial): Comment, cut/paste error. * win32-nat.c (win32_xfer_partial): Ditto. * target.c (default_xfer_partial): Minor whitespace adjustment. 2008-01-24 Pedro Alves * arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't strip bit 1 even if pc doesn't point to thumb code. 2008-01-23 Daniel Jacobowitz * remote.c (remote_wait): Handle SIGINT between packets. (remote_async_wait): Likewise. 2008-01-23 Vladimir Prus Chris Demetriou * thread.c (add_thread_silent): Renamed from add_thread. (print_thread_events): New variable definition. (show_print_thread_events): New function. (_initialize_thread): Add "set print thread-events" and "show print thread-events" commands. (add_thread): Announce new thread. * gdbthread.h (add_thread_silent): Declare. (print_thread_events): New variable declaration. * inf-ttrace.c (inf_ttrace_wait): Don't inform about new thread, as add_thread is always called too, and will take care of that. * infrun.c (handle_inferior_event): Likewise. * procfs.c (procfs_wait): Likewise. * remote.c (remote_currthread): Likewise. * sol-thread.c (sol_thread_wait): Likewise. * win32-nat.c (get_win32_debug_event): Likewise. * linux-thread-db.c (attach_thread): Likewise. Remove the verbose parameter. (check_event): Make detach_thread be verbose only if print_thread_events is set. * linux-nat.c (lin_lwp_attach_lwp): Don't inform about new thread. This is called only from linux-thread-db.c:attach_thread, which will take care. Remove the verbose parameter. * linux-nat.h (lin_lwp_attach_lwp): Adjust prototype. 2008-01-23 Nick Roberts * mi/mi-cmd-var.c (mi_cmd_var_set_format): Add value field to output. 2008-01-22 Vladimir Prus * breakpoint.c (break_command_really): New parameter ignore_count. (break_command_1): Pass 0 as ignore_count to break_command_really. (gdb_breakpoint): Pass ignore_count to break_command_really. 2008-01-21 Kevin Buettner * mn10300-linux-tdep.c (am33_linux_sigframe_cache_init): Find sigcontext struct via pointer. (struct sigframe comment): Update to show new field `psc'. 2008-01-21 Vladimir Prus * infrun.c (handle_inferior_event): If we failed to remove breakpoints, error, don't try to increment PC by hand. 2008-01-18 Nick Hudson Add NetBSD/hppa target and host support. * hppabsd-tdep.c (hppabsd_supply_gregset): Move to ... (hppabsd_gregset): Move to ... (hppabsd_regset_from_core_section): Rename hppaobsd_regset_from_core_section and move to ... (hppabsd_find_global_pointer): Update comment. (hppabsd_init_abi): Make global. Do not register hppabsd_regset_from_core_section. (hppabsd_core_osabi_sniffer): Rename hppaobsd_core_osabi_sniffer and move to ... (_initialize_hppabsd_tdep): Move to ... * hppaobsd-tdep.c: ... here. New file. * hppnbsd-tdep.c: New file. * hppnbsd-nat.c: New file. * Makefile.in (ALL_TARGET_OBS): Add hppanbsd-tdep.o and hppaobsd-tdep.o. (ALLDEPFILES): Add hppabsd-nat.c and hppabsd-tdep.c. (hppabsd-nat.o, hppabsd-tdep.o): New dependencies. (hppabsd-tdep.o, hppaobsd-tdep.o): Update dependencies. * configure.host (hppa*-*-netbsd*): New entry. * configure.tgt (hppa*-*-netbsd*): New entry. (hppa*-*-openbsd*): Update. * NEWS (New native configuration): Mention NetBSD/hppa. (New targets): Mention NetBSD/hppa. 2008-01-18 Markus Deuling * gdbarch.sh (function_list): Add new property bits_big_endian to gdbarch structure. * gdbarch.{c,h}: Regenerate. * value.c (struct value): Replace BITS_BIG_ENDIAN by gdbarch_bits_big_endian (comment). (unpack_field_as_long, modify_field): Likewise. * value.h: Likewise (comment). * valops.c (value_slice): Likewise. * valarith.c (value_subscript, value_bit_index): Likewise. * gdbtypes.h (field): Likewise (comment). * eval.c (evaluate_subexp_standard): Likewise. * dwarf2read.c (dwarf2_add_field): Likewise. * ada-lang.c (decode_packed_array, ada_value_primitive_packed_val) (move_bits, ada_value_assign, value_assign_to_component): Likewise. * defs.h (BITS_BIG_ENDIAN): Remove. 2008-01-18 Markus Deuling * jv-exp.y (yylex): Replace DEPRECATED_STREQN with the appropriate function calls. * m2-exp.y (yylex): Likewise. * objc-exp.y (yylex): Likewise. * defs.h (DEPRECATED_STREQN): Remove. 2008-01-17 H.J. Lu * MAINTAINERS: Update my email address. 2008-01-17 Jim Blandy * README: Mention gdbserver/README. 2008-01-17 Pierre Muller * valarith.c (value_binop): Handle BINOP_INTDIV for unsigned and signed integers. 2008-01-17 Ulrich Weigand * s390-tdep.c (s390_gdbarch_init): Set default long double type to 128-bit IEEE quad. 2008-01-17 Joel Brobecker * hpux-thread.c (hpux_thread_resume): Delete commented-out code. 2008-01-16 Mark Kettenis * auxv.c (fprint_target_auxv): Add support for AT_SUN_AUXFLAGS. * dfp.c, dfp.h: Rename decimal_to_double to decimal_to_doublest. * value.c: All callers changed. 2008-01-16 Markus Deuling * rs6000-nat.c (add_vmap, vmap_ldinfo, vmap_exec): Replace DEPRECATED_STREQ by its expression. * coffread.c (coff_locate_sections, coff_symtab_read): Likewise. * xcoffread.c (read_xcoff_symtab, read_symbol_lineno, find_linenos) (scan_xcoff_symtab): Likewise. * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Likewise. * f-lang.c (find_common_for_function): Likewise. * objc-exp.y (parse_number): Likewise. * defs.h (DEPRECATED_STREQ): Remove. 2008-01-16 Markus Deuling * mn10300-tdep.h (AM33_MODE): Add gdbarch as parameter. * mn10300-tdep.c (set_reg_offsets, mn10300_analyze_prologue): Use get_frame_arch to get at the current_architecture. Update AM33_MODE call. (mn10300_analyze_prologue): Add gdbarch as parameter. Update caller. (mn10300_frame_unwind_cache): Use get_frame_arch to get at the current architecture. (set_reg_offsets, mn10300_analyze_prologue): Fix indentation. 2008-01-16 Markus Deuling * amd64-nat.h (amd64_native_gregset_supplies_p): Add gdbarch as parameter. * amd64-nat.c (amd64_native_gregset_supplies_p): Likewise. (amd64_native_gregset_reg_offset): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers) (amd64_linux_store_inferior_registers): Use get_regcache_arch to get at the current architecture. Update calls of amd64_native_gregset_supplies_p. * amd64bsd-nat.c (amd64bsd_fetch_inferior_registers) (amd64bsd_store_inferior_registers): Likewise. 2008-01-16 Markus Deuling * ppc-linux-nat.c (ppc_register_u_addr): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. 2008-01-16 Markus Deuling * dbxread.c (repeated_header_complaint, dbx_symfile_init) (read_dbx_dynamic_symtab, function_outside_compilation_unit_complaint) (read_dbx_symtab, end_psymtab, dbx_psymtab_to_symtab_1) (dbx_psymtab_to_symtab, read_ofile_symtab, process_one_symbol) (stabsect_build_psymtabs): Fix indentation. 2008-01-15 Michael Snyder * corelow.c (core_xfer_partial): Comment, cut/paste error. 2008-01-14 Pierre Muller * win32-nat.c (win32_create_inferior): Restore code calling CloseHandle on ProcessInformation structure. 2008-01-13 Nick Hudson * configure.ac: Check for void * as 3 argument of ptrace. * configure: regenerate. 2008-01-11 Markus Deuling * alpha-tdep.c (alpha_heuristic_proc_start) (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_heuristic_proc_start call. (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use get_frame_arch to get at the current architecture by frame_info. Update alpha_sigtramp_register_address call. * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace current_gdbarch by gdbarch. Update caller. (convert_to_extended, convert_from_extended): Add endianess parameter for comparison. Update caller. (arm_extract_return_value, arm_store_return_value): Use get_regcache_arch to get at the current architecture. * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add gdbarch as parameter. Update caller. (h8300_init_frame_cache): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and update caller. Replace current_gdbarch by gdbarch. * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at the current architecture. Replace current_gdbarch by gdbarch. * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its expression. Add gdbarch as parameter and replace current_gdbarch with it. Update caller. (M6811_TDEP): Remove. (m68hc11_frame_prev_register): Use get_frame_arch to get at the current architecture. (m68hc11_scan_prologue): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. Update caller. * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and update caller. (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch by gdbarch. * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update caller. Relace current_gdbarch by gdbarch. (altivec_register_p, spe_register_p): Likewise. * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as parameter. * ppc-linux-nat.c (fetch_register, store_register): Update caller of altivec_register_p and spe_register_p. * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. (score_analyze_prologue): use get_frame_arch to get at the current architecture. * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter. * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace current_gdbarch by gdbarch. Update caller. (sparc_frame_cache): Use get_frame_arch to get at the current architecture. * sparce64-tdep.c (sparc64_skip_prologue): Update call of sparc_analyze_prologue. * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as parameter. 2008-01-11 Markus Deuling * exec.c: #include "arch-utils.h" (print_section_info): Use gdbarch_from_bfd to get at the current architecture. Replace current_gdbarch. Fix indention. Replace deprecated_print_address_numeric by paddress. * Makefile.in (exec.o) Add dependency to arch-utils.h. * valprint.c (val_print_string): Replace deprecated_print_address_numeric. * tracepoint.c (trace_mention, scope_info): Likewise. * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1, print_symbol) (print_symbol, print_partial_symbols, maintenance_info_psymtabs) (maintenance_check_symtabs): Likewise. * symfile.c (list_overlays_command): Likewise. * stack.c (frame_info, print_block_frame_labels): Likewise. * printcmd.c (print_address, print_address_demangle) (address_info): Likewise. * corefile.c (memory_error): Likewise. * infcmd.c (jump_command): Likewise. * breakpoint.c (insert_bp_location, describe_other_breakpoints) (mention, delete_breakpoint): Likewise. * c-valprint.c (print_function_pointer_address, c_val_print): Likewise. * dwarf2read.c (dump_die): Likewise. * ada-valprint.c (ada_val_print_1): Likewise. * f-valprint.c (f_val_print): Likewise. * linux-fork.c (info_forks_command): Likewise. * m32r-com.c (m32r_load_section, m32r_load) (m32r_upload_command): Likewise. * ui-out.c (ui_out_field_core_addr): Remove unnecessary comment. 2008-01-11 Markus Deuling * gdbarch.sh (skip_prologue): Add gdbarch as parameter. * gdbarch.{c,h}: Regenerate. * alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter. * amd64-tdep.c (amd64_skip_prologue): Likewise. * avr-tdep.c (avr_skip_prologue): Likewise. * cris-tdep.c (cris_skip_prologue): Likewise. * frv-tdep.c (frv_skip_prologue): Likewise. * h8300-tdep.c (h8300_skip_prologue): Likewise. * hppa-tdep.c (hppa_skip_prologue): Likewise. * i386-tdep.c (i386_skip_prologue): Likewise. * ia64-tdep.c (ia64_skip_prologue): Likewise. * iq2000-tdep.c (iq2000_skip_prologue): Likewise. * m32r-tdep.c (m32r_skip_prologue): Likewise. * m68hc11-tdep.c (m68hc11_skip_prologue): Likewise. * m68k-tdep.c (m68k_skip_prologue): Likewise. * m88k-tdep.c (m88k_skip_prologue): Likewise. * mep-tdep.c (mep_skip_prologue): Likewise. * mips-tdep.c (mips_skip_prologue): Likewise. * mn10300-tdep.c (mn10300_skip_prologue): Likewise. * mt-tdep.c (mt_skip_prologue): Likewise. * rs6000-tdep.c (rs6000_skip_prologue): Likewise. * score-tdep.c (score_skip_prologue): Likewise. * sh64-tdep.c (sh64_skip_prologue): Likewise. * sh-tdep.c (sh_skip_prologue): Likewise. * sparc64-tdep.c (sparc64_skip_prologue): Likewise. * sparc-tdep.c (sparc32_skip_prologue): Likewise. * spu-tdep.c (spu_skip_prologue): Likewise. * v850-tdep.c (v850_skip_prologue): Likewise. * vax-tdep.c (vax_skip_prologue): Likewise. * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise. * xtensa-tdep.c (xtensa_skip_prologue): Likewise. * arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace current_gdbarch by gdbarch. * m32c-tdep.c (m32c_skip_prologue): Likewise. * s390-tdep.c (s390_skip_prologue): Likewise. 2008-01-10 Doug Evans * defs.h (struct continuation_arg): Fix typo in comment. * target.c (target_translate_tls_address): Fix comment spelling error. 2008-01-09 Thiago Jung Bauermann * doublest.h (DOUBLEST_PRINT_FORMAT): Remove % from string. (DOUBLEST_SCAN_FORMAT): Likewise. * dfp.c (decimal_from_floating): Use DOUBLEST_PRINT_FORMAT. * ada-lex.l (processReal): Prepend "%" to use of DOUBLEST_SCAN_FORMAT. * c-exp.y (parse_number): Likewise. * jv-exp.y (parse_number): Likewise. * objc-exp.y (parse_number): Likewise. * p-exp.y (parse_number): Likewise. 2008-01-09 Joel Brobecker * gdbtypes.c (create_array_type): Add handling of null Ada arrays. (check_typedef): Likewise. 2008-01-09 Luis Machado * printcmd.c (printf_command): Add seen_big_h, seen_big_d and seen_double_big_d, treat the new H, D, and DD modifiers as length modifiers. 2008-01-08 Joel Brobecker * dwarf2read.c (read_enumeration_type): Add comment. 2008-01-08 Thiago Jung Bauermann * config.in: Regenerate. 2008-01-08 Joel Brobecker * ada-lang.c (ada_convert_actual): Renames convert_actual. Make non-static. (ada_convert_actuals): Delete. * ada-lang.h (ada_convert_actual): Add declaration. (ada_convert_actuals): Remove declaration. * infcall.c: #include "ada-lang.h". (value_arg_coerce): Add new parameter sp. Update function documetnation. Add handling of Ada function call parameters. * Makefile.in (infcall.o): Update dependencies. 2008-01-08 Paul Hilfinger * ada-lang.c (ensure_lval): Fix value lval kind. (convert_actual): Add handling for arguments passed by reference. 2008-01-08 Doug Evans * dbxread.c (read_dbx_symtab): Fix indentation. 2008-01-07 Thiago Jung Bauermann * Makefile.in (dfp.o): Depend on expression.h, gdbtypes.h and value.h. (valarith.o): Depend on dfp.h. (valops.o): Likewise. * dfp.c: Include expression.h, gdbtypes.h, value.h and dfp.h. (set_decnumber_context): New function. (decimal_check_errors): Likewise. (decimal_from_number): Likewise. (decimal_to_number): Likewise. (decimal_from_string): Use set_decnumber_context and decimal_check_errors. (decimal_from_integral): New function. (decimal_from_floating): Likewise. (decimal_to_double): Likewise. (promote_decimal): Likewise. (decimal_binop): Likewise. (decimal_is_zero): Likewise. (decimal_compare): Likewise. (decimal_convert): Likewise. * dfp.h (decimal_from_integral): New prototype. (decimal_from_floating): Likewise. (decimal_to_double): Likewise. (decimal_binop): Likewise. (decimal_is_zero): Likewise. (decimal_compare): Likewise. (decimal_convert): Likewise. * eval.c (evaluate_subexp_standard): Remove expect_type argument from call to value_from_decfloat. * valarith.c: Include dfp.h. (value_args_as_decimal): New function. (value_binop): Add if block to handle TYPE_CODE_DECFLOAT values. (value_logical_not): Likewise. (value_equal): Likewise. (value_less): Likewise. (value_pos): Likewise. (value_neg): Formatting fix. * valops.c: Include dfp.h. (value_cast): Add if block to handle TYPE_CODE_DECFLOAT values. * value.c (unpack_long): Add case to handle TYPE_CODE_DECFLOAT. (unpack_double): Add if block to handle TYPE_CODE_DECFLOAT. (value_from_decfloat): Remove expect_type argument. * value.h (value_from_decfloat): Update prototype. 2008-01-07 Vladimir Prus Ignore change in name of dynamic linker during execution on Solaris. This also unbreaks pending breakpoints. * solist.h (struct target_so_ops): New field same. * solib-svr4.c (svr4_same): New. (_initialize_svr4_solib): Register svr4_same. * solib.c (update_solib_list): Use ops->same, if available. 2008-01-06 Christopher Faylor * win32-nat.c (win32_make_so): Use cygwin-style path to avoid warnings when using MS-DOS paths. 2008-01-05 Pedro Alves * NEWS: Mention --pid and --core command line behaviour changes. 2008-01-05 Pedro Alves * main.c (captured_main): Remove 'count' varible and the ALIGN_STACK_ON_ENTRY block that used it. Error out if --core and --pid options were issued simultaneously. If an explicit pid option was passed, don't fallback to core file. Detect extra arguments better in the presence of explicit pid or core arguments. 2008-01-05 Joel Brobecker * ada-lang.c (ada_which_variant_applies): Correctly compute the value of the discriminant when the variant record is packed. 2008-01-04 Joel Brobecker * ada-lang.c (is_name_suffix): Handle middle-name numeric suffixes that are used to differentiate homonyms. 2008-01-04 Jerome Guitton * ada-lang.c (decode_packed_array_type): Avoid a seg fault when the type is an anonymous pointer type. (ada_check_typedef): Avoid a seg fault when the type is null. * ada-typeprint.c (print_array_type): Add support for pointer to packed arrays. 2008-01-04 Paul N. Hilfinger * ada-exp.y: Allow '{type} ADDRESS' notation on left of assignment. 2008-01-04 Joel Brobecker * ada-lang.c (ada_evaluate_subexp): Evaluate tagged types in EVAL_NORMAL mode when noside is EVAL_AVOID_SIDE_EFFECTS. 2008-01-04 Joel Brobecker * ada-exp.y (chop_separator): New function. (write_selectors): Rewrite to re-use chop_separator. (ada_nget_field_index, get_symbol_field_type): New functions. (write_var_or_type): Add support for "ptype TYPENAME.FIELD" expressions. 2008-01-03 Thiago Jung Bauermann * symtab.c (find_pc_sect_line): Use SYMBOL_VALUE_ADDRESS instead of SYMBOL_VALUE when working with function symbols. 2008-01-03 Joel Brobecker * ada-lang.c (resolve_subexp): Add handling of OP_REGISTER expressions. These expressions do not need to be rewriten. 2008-01-03 Joel Brobecker * dwarf2read.c (read_enumeration_type): Flag type as stub if the given die is a declaration. 2008-01-03 Joel Brobecker * ada-lang.c (ada_array_bound_from_type): Make non-static. Handle properly the case when the index type is an enumerated type. Do not return the subtype of the bounds type, just return the bounds type directly - this is not needed and is more consistent with what we do for arrays when no XA parallel type exists. 2008-01-03 Joel Brobecker * ada-lang.c (static_unwrap_type): Add forward declaration. (template_to_static_fixed_type): Fields of dynamic types sometimes also need to be unwrapped. Take this into account. (ada_to_fixed_type_1): Renamed from ada_to_fixed_type. (ada_to_fixed_type): New wrapper around ada_to_fixed_type_1. * ada-typeprint.c (ada_print_type): Get the typename from the original type, not the base type. 2008-01-03 Jerome Guitton * ada-lang.c (ada_value_struct_elt, to_fixed_array_type) (to_fixed_array_type, ada_to_fixed_value_create, unwrap_value): Update calls to ada_to_fixed_type. (ada_template_to_fixed_record_type_1): Ditto, but without looking for the tag. (ada_to_fixed_type): Add check_tag parameter; do not look for tag if null. When looking for a tag, use a fixed record type. * ada-lang.h (ada_to_fixed_type): Add check_tag parameter. * ada-valprint.c (printable_val_type, ada_value_print): Update calls to ada_to_fixed_type. 2008-01-03 Luis Machado * doublest.c (convert_floatformat_to_doublest): Call floatformat_to_doublest instead of floatformat_to_double and use DOUBLEST variables. (convert_doublest_to_floatformat): Call floatformat_from_doublest instead of floatformat_from_double and use DOUBLEST variables. 2008-01-03 Nick Hudson * MAINTAINERS (Write After Approval): Add self. 2008-01-03 Joel Brobecker * symfile.c (set_initial_language): Make non-static. * symfile.h (set_initial_language): Add declaration. * language.c: #include "symfile.h". (set_language): Call set_initial_language if the frame language could not be determined. 2008-01-03 Paul N. Hilfinger * eval.c (evaluate_subexp_for_address): Provide frame address to locate_var_value only if it will be needed. 2008-01-02 Jan Kratochvil * linux-nat.c (linux_child_follow_fork): Call also CHECK_FOR_THREAD_DB. 2008-01-02 Joel Brobecker * ada-lang.c (ada_evaluate_subexp): Modify the value returned when noside is EVAL_AVOID_SIDE_EFFECTS to be an lval_memory. This is needed to make sure that any other treatment applied to the resulting value does not fail for spurious reason, such as trying to take the address of this value. 2008-01-02 Joel Brobecker * ada-lang.c (ada_value_equal): Dereference reference types when comparing arrays. 2008-01-01 Daniel Jacobowitz Updated copyright notices for most files. 2008-01-01 Christopher Faylor * win32-nat.c (psapi_module_handle): Remove static. (get_module_name): Rename from psapi_get_dll_name. Revamp slightly to return first module found if base_address is zero. Don't initialize psapi function pointers here. Convert to cygwin paths when appropriate. (win32_pid_to_exec_file): Use Cygwin's /proc interface to determine executable name. Use get_module_name when that fails or when !__CYGWIN__. (_initialize_psapi): New function. Initialize psapi stuff before it is needed or issue a warning if it is not found. Move psapi_module_handle here. 2008-01-01 Joel Brobecker * ada-lang.c (ada_remove_trailing_digits): New function. (ada_remove_po_subprogram_suffix): New function. (ada_decode): Improve. Move the description of the algorithm directly inside the code, instead of in the function global description. 2008-01-01 Joel Brobecker * ada-valprint.c (ada_val_print_1) [TYPE_CODE_REF]: Ignore deref_ref and always print the dereferenced value. 2008-01-01 Joel Brobecker * ada-lang.c (ada_evaluate_subexp, case BINOP_SUB): Add handling of the case where the first argument is a reference. (ada_evaluate_subexp, case BINOP_ADD): Likewise. 2008-01-01 Joel Brobecker Implement support for Ada interface types. * ada-lang.c (ada_is_dispatch_table_ptr_type): New function. (ada_is_ignored_field): Ignore fields that are a dispatch table of a tagged type. 2008-01-01 Joel Brobecker * top.c (print_gdb_version): Update copyright year. 2008-01-01 Joel Brobecker * ChangeLog-2007: New ChangeLog rotation. * ChangeLog: Reset for 2008. * config/djgpp/fnchange.lst: Add entries for ChangeLog-2006 and ChangeLog-2007. For older changes see ChangeLog-2007. Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never coding: utf-8 End: