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 Riswtovski 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 * 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: