2010-03-10 Kevin Buettner * remote-mips.c (close_ports, mips_initialize_cleanups) (mips_exit_cleanups, mips_send_command, mips_open, pmon_open) (ddb_open, lsi_open, mips_remove_breakpoint, mips_remove_watchpoint) (mips_stopped_by_watchpoint, send_srec, pmon_checkset) (pmon_make_fastrec, pmon_check_ack, mips_expect_download) (pmon_check_entry_address, pmon_check_total, pmon_end_download) (pmon_download, pmon_load_fast, _initialize_remote_mips): Add comments describing each of these functions. (mips_enter_debug, mips_exit_debug, common_open) (mips_signal_from_protocol, pmon_makeb64, pmon_zeroset): Add blank line after the comment describing the function. 2010-03-10 Jan Kratochvil * solib-svr4.c (svr4_exec_displacement): Return now success, new parameter displacementp. Update comment. (svr4_relocate_main_executable): Return if non-zero SECTION_OFFSETS element exists. Return if svr4_exec_displacement was not successful. Update comment. 2010-03-10 Jan Kratochvil Daniel Jacobowitz * solib-svr4.c (read_program_header): Support type == -1 to read all program headers. (read_program_headers_from_bfd): New function. (svr4_static_exec_displacement): Remove and move the comment ... (svr4_exec_displacement): ... here. Remove variable found. New variable displacement. Check also DYNAMIC. Verify DISPLACEMENT alignment for ELF targets. Compare target vs. exec_bfd PHDRs for ELF targets using read_program_headers_from_bfd. Remove the call of svr4_static_exec_displacement. 2010-03-10 Tom Tromey * dwarf2read.c (struct pubnames_header): Remove. (_PUBNAMES_HEADER): Remove. (_ACTUAL_PUBNAMES_HEADER_SIZE): Remove. (struct aranges_header): Remove. (_ARANGES_HEADER, _ACTUAL_ARANGES_HEADER_SIZE): Remove. (struct dwarf2_per_objfile) : Remove. (PUBNAMES_SECTION): Remove. (ARANGES_SECTION): Remove. (dwarf2_locate_sections): Don't handle pubnames or aranges. (dwarf2_build_psymtabs): Remove dead code. (dwarf2_build_psymtabs_easy): Remove. 2010-03-10 Tom Tromey * elfread.c (elf_symfile_read): Don't call dwarf2_build_frame_info. * dwarf2read.c (struct dwarf2_section_info) : New field. (struct dwarf2_per_objfile) : New field. (dwarf2_has_info): Now idempotent. Set objfile field. (dwarf2_read_section): Check and set readin field. Call posix_madvise. (dwarf2_build_psymtabs): Don't read all sections. (read_type_comp_unit_head): Read types section. (create_debug_types_hash_table): Likewise. (init_cu_die_reader): Add asserts. (process_type_comp_unit): Add assert. (dwarf2_build_psymtabs_hard): Read info section. (load_partial_comp_unit): Add assert. (create_all_comp_units): Read info section. (load_full_comp_unit): Likewise. (dwarf2_ranges_read): Read ranges section. (dwarf2_record_block_ranges): Add assert. (dwarf2_read_abbrevs): Read abbrev section. (read_indirect_string): Read str section. (dwarf_decode_line_header): Read line section. (read_signatured_type_at_offset): Read types section. (dwarf_decode_macros): Read macinfo section. (dwarf2_symbol_mark_computed): Read loc section. * dwarf2-frame.c (dwarf2_frame_find_fde): Call dwarf2_build_frame_info. (dwarf2_build_frame_info): Unconditionally set dwarf2_frame_objfile_data on the objfile. * configure.ac: Check for posix_madvise. * config.in, configure: Rebuild. 2010-03-10 Tom Tromey * xcoffread.c (xcoff_start_psymtab): Update. (xcoff_end_psymtab): Update. * psymtab.c (allocate_psymtab): Remove dead code. * psympriv.h (struct partial_symtab) : Now void*. * mdebugread.c (parse_partial_symbols): Update. (new_psymtab): Likewise. * dwarf2read.c (process_psymtab_comp_unit): Update. (psymtab_to_symtab_1): Update. * dbxread.c (start_psymtab): Update. (end_psymtab): Likewise. 2010-03-10 Tom Tromey * xcoffread.c: Include psymtab.h. (xcoff_sym_fns): Update. * symtab.h (struct partial_symbol): Remove. (PSYMBOL_DOMAIN, PSYMBOL_CLASS): Remove. (struct partial_symtab): Remove. (PSYMTAB_TO_SYMTAB): Remove. (lookup_partial_symbol, lookup_partial_symtab, find_pc_psymtab) (find_pc_sect_psymtab): Remove. (find_pc_sect_symtab_via_partial): Declare. (find_pc_psymtab, find_pc_sect_psymbol, psymtab_to_symtab) (find_main_psymtab): Remove. (find_main_filename): Declare. (fixup_psymbol_section): Remove. (fixup_section): Declare. * symtab.c: Include psymtab.h. (lookup_symtab): Use lookup_symtab method. (lookup_partial_symtab): Remove. (find_pc_sect_psymtab_closer): Remove. (find_pc_sect_psymtab): Remove. (find_pc_sect_symtab_via_partial): New function. (find_pc_psymtab, find_pc_sect_psymbol, find_pc_psymbol): Remove. (fixup_section): No longer static. (fixup_psymbol_section): Remove. (lookup_symbol_aux): Use lookup_symbol_aux_quick. (lookup_global_symbol_from_objfile): Likewise. (lookup_symbol_aux_psymtabs): Remove. (lookup_symbol_aux_quick): New function. (lookup_symbol_global): Use lookup_symbol_aux_quick. (lookup_partial_symbol): Remove. (basic_lookup_transparent_type_quick): New function. (basic_lookup_transparent_type): Use it. (find_main_psymtab): Remove. (find_main_filename): New function. (find_pc_sect_symtab): Use find_pc_sect_symtab method. (find_line_symtab): Use expand_symtabs_with_filename method. (output_partial_symbol_filename): New function. (sources_info): Use map_partial_symbol_filenames. (struct search_symbols_data): New type. (search_symbols_file_matches): New function. (search_symbols_name_matches): Likewise. (search_symbols): Use expand_symtabs_matching method. (struct add_name_data): Rename from add_macro_name_data. (add_macro_name): Update. (add_partial_symbol_name): New function. (default_make_symbol_completion_list): Use map_partial_symbol_names. (struct add_partial_symbol_name): New type. (maybe_add_partial_symtab_filename): New function. (make_source_files_completion_list): Use map_partial_symbol_filenames. (expand_line_sal): Use expand_symtabs_with_filename method. * symmisc.c: Include psymtab.h. (print_objfile_statistics): Use print_stats method. (dump_objfile): Use dump method. (dump_psymtab, maintenance_print_psymbols) (maintenance_info_psymtabs, maintenance_check_symtabs) (extend_psymbol_list): Remove. * symfile.h (struct quick_symbol_functions): New struct. (struct sym_fns) : New field. (sort_pst_symbols): Remove. (increment_reading_symtab): Declare. * symfile.c: Include psymtab.h. (compare_psymbols, sort_pst_symbols): Remove. (psymtab_to_symtab): Remove. (increment_reading_symtab): New function. (symbol_file_add_with_addrs_or_offsets): Use expand_all_symtabs method. (set_initial_language): Use find_main_filename. (allocate_psymtab, discard_psymtab, cashier_psymtab): Remove. (free_named_symtabs): Remove unused code. (start_psymtab_common, add_psymbol_to_bcache) (append_psymbol_to_list, add_psymbol_to_list, init_psymbol_list): Remove. * stack.c: Include psymtab.h, symfile.h. (backtrace_command_1): Use find_pc_sect_symtab_via_partial. * source.h (psymtab_to_fullname): Don't declare. * source.c: Include psymtab.h. (select_source_symtab): Use find_last_source_symtab method. (forget_cached_source_info): Use forget_cached_source_info method. (find_and_open_source): No longer static. (psymtab_to_fullname): Remove. * somread.c: Include psymtab.h. (som_sym_fns): Update. * psympriv.h: New file. * psymtab.h: New file. * psymtab.c: New file. * objfiles.h: (ALL_OBJFILE_PSYMTABS): Remove. (ALL_PSYMTABS, ALL_PSPACE_PSYMTABS): Likewise. * objfiles.c: Include psymtab.h. (objfile_relocate1): Use relocate method. (objfile_has_partial_symbols): Use has_symbols method. * mipsread.c: Include psymtab.h. (ecoff_sym_fns): Update. * mi/mi-cmd-file.c: Include psymtab.h. (print_partial_file_name): New function. (mi_cmd_file_list_exec_source_files): Use map_partial_symbol_filenames. * mdebugread.c: Include psympriv.h. * machoread.c: Include psympriv.h. (macho_sym_fns): Update. * m2-exp.y (yylex): Use lookup_symtab. * elfread.c: Include psympriv.h. (elf_sym_fns): Update. * dwarf2read.c: Include psympriv.h. * dbxread.c: Include psympriv.h. (aout_sym_fns): Update. * cp-support.c: Include psymtab.h. (read_in_psymtabs): Remove. (make_symbol_overload_list_qualified): Use expand_symtabs_for_function method. * coffread.c: Include psympriv.h. (coff_sym_fns): Update. * blockframe.c: Include psymtab.h. (find_pc_partial_function): Use find_pc_sect_symtab method. * ada-lang.h (ada_update_initial_language): Update. * ada-lang.c: Include psymtab.h. (ada_update_initial_language): Remove 'main_pst' argument. (ada_lookup_partial_symbol): Remove. (struct ada_psym_data): New type. (ada_add_psyms): New function. (ada_add_non_local_symbols): Use map_ada_symtabs method. (struct add_partial_datum): New type. (ada_add_partial_symbol_completions): New function. (ada_make_symbol_completion_list): Use map_partial_symbol_names. (ada_exception_support_info_sniffer): Update. * Makefile.in (SFILES): Add psymtab.c. (COMMON_OBS): Add psymtab.o. (HFILES_NO_SRCDIR): Add psymtab.h, psympriv.h. 2010-03-10 Pierre Muller * remote-fileio.c (cygwin_conv_path): Define macro for old cygwin API. 2010-03-10 Sami Wagiaalla PR C++/11236: * cp-namespace.c (cp_add_using): Deleted. (cp_add_using_directive): Use obstack allocations. Merged the function cp_add_using into this one. Added 'struct obstack *' argument. (cp_scan_for_anonymous_namespaces): Updated. * cp-support.h: Updated. * dwarf2read.c (read_import_statement): Updated. (read_namespace): Updated. 2010-03-10 Pierre Muller * windows-nat.c (cygwin_conv_path): Remove old macro. 2010-03-10 Pedro Alves * breakpoint.c (condition_command): Handle watchpoint conditions. (is_hardware_watchpoint): Add comment. (is_watchpoint): New. (update_watchpoint): Don't reparse the watchpoint's condition unless necessary. (WP_IGNORE): New. (watchpoint_check): Use it. (bpstat_check_watchpoint): Handle it. (bpstat_check_breakpoint_conditions): Evaluate watchpoint local conditions in a frame where it makes sense. (watch_command_1): Store the innermost block of the condition expression. (delete_breakpoint): Delete the watchpoint condition expression. * breakpoint.h (struct bp_location) : Update comment. (struct breakpoint): New field `cond_exp_valid_block'. 2010-03-09 Joel Brobecker Adjust handling of Ada DIEs after dwarf2_physname patch. * dwarf2read.c (dwarf2_compute_name): Add handling of Ada DIEs. 2010-03-09 Christopher Faylor Pierre Muller * windows-nat.c (cygwin_conv_path): Redefine to properly convert from/to posix/win32. (windows_make_so): Use non-Cygwin 1.7 specific function. (windows_create_inferior): Make sure that cygallargs points to original args in non Cygwin 1.7. case. 2010-03-09 Michael Snyder * i386-tdep.c (i386_record_lea_modrm_addr): Use extract_signed_int after target_read_memory to get host byte order. (i386_process_record): Ditto. 2010-03-09 Keith Seitz Based on work from Daniel Jacobowitz * c-typeprint.c (cp_type_print_method_args): For non-static methods, print out const or volatile qualifiers, too. (c_type_print_args): Add parameters show_artificial and language. Skip artificial parameters when requested. Use the appropriate language printer. (c_type_print_varspec): Tell c_type_print_args to skip artificial parameters and pass language_c. * dwarf2read.c (die_list): New file global. (struct partial_die_info): Update comments for name field. (pdi_needs_namespace): Renamed to ... (die_needs_namespace): ... this. Rewrite. (dwarf2_linkage_name): Remove. (add_partial_symbol): Do not predicate the call to partial_die_full_name based on pdi_needs_namespace. Remove call to cp_check_possible_namespace_symbols and associated outdated comments. (guess_structure_name): Do not inspect child subprogram DIEs. (dwarf2_fullname): Update comments. Use die_needs_namespace to assist in computing the name. (read_func_scope): Use dwarf2_name to get the DIE's name. Use dwarf2_physname to get the "linkage name" of the DIE. (dwarf2_add_member_field): Use dwarf2_physname instead of dwarf2_linkage_name. (read_structure_type): For structs and classes, set TYPE_NAME, too. (determine_class): Remove. (read_partial_die): Ignore DW_AT_MIPS_linkage_name for all languages except Ada. (new_symbol): Unconditionally call dwarf2_name. Compute the "linkage name" using dwarf2_physname. Use dwarf2_name instead of dwarf2_full_name for enumerator DIEs. When determining to scan for anonymous C++ namespaces, ignore the linkage name. (dwarf2_physname): New function. (dwarf2_full_name): Move content to new function and call that. (dwarf2_compute_name): "New" function. (_initialize_dwarf2_read): Initialize die_list. * gnu-v3-eabi.c (gnu_v3_find_method_in): Remove unused variable physname. (gnu_v3_print_method_ptr): Use the physname for virtual methods without a demangled name. Print out type information for non-virtual methods. * linespec.c (decode_line_1): Force ANY string using "::" (or "." for java) to use decode_compound, and clean up any stray quoting. If we found a file symtab, re-evaluate whether the remainder is_quoted. (decode_compound): Stop consuming at an open parenthesis. Keep template parameters. Keep any overload information. Keep keywords like "const". Remove paren_pointer. Move is_quoted check from set_flags to here. Remove #if 0 code from 2000. Ten years is long enough. (find_method): Before comparing symbol names, canonicalize the string from the user. If a specific overload is requested, find it. Otherwise throw an error. (find_method_overload_end): New function. (set_flags): Remove. (decode_compound): Assume that parentheses are matched. It's a lot easier. * symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag to cplus_demangle. * linespec.c (decode_line_1): Keep important keywords like "const" and "volatile". * symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): Remove. * typeprint.h (c_type_print_args): Add declaration. * ui-file.c (do_ui_file_obsavestring): New function. (ui_file_obsavestring): New function. * ui-file.h (ui_file_obsavestring): Add declaration. * valops.c (find_overload_match): Resolve the object to a non-pointer type. If the object is a data member, search the object for the member and return with staticp set. Use SYMBOL_NATURAL_NAME instead of SYMBOL_CPLUS_DEMANGLED_NAME. Do not attempt to extract a function name from non-function types. If the extracted function name and the original name are the same, we don't have a C++ method. From Jan Kratochvil : * dwarf2read.c (new_symbol ): Call dwarf2_full_name. * ada-lang.c (ada_lookup_symbol): Remove linkage_name parameters and arguments from symbol lookups. * ax-gdb.c (gen_expr): Likewise. * cp-namespace.c (cp_lookup_symbol_nonlocal, lookup_namespace_scope, cp_lookup_symbol_namespace, lookup_symbol_file, lookup_nested_type, lookup_possible_namespace_symbol): Likewise. * cp-support.c (read_in_psymtabs): Likewise. * cp-support.h (cp_lookup_symbol_nonlocal): Likewise. * language.h (la_lookup_symbol_nonlocal): Likewise. * scm-valprint.c (scm_inferior_print): Likewise. * solib-darwin.c (darwin_relocate_section_addresses): Likewise. * solib-svr.c (elf_lookup_lib): Likewise. * solib.c (show_auto_solib_add): Likewise. * solist.h (lookup_lib_global, solib_global_lookup): Likewise. * symmisc.c (maintenance_check_symtabs): Likewise. * symtab.c (lookup_symbol_in_language, lookup_symbol_aux, lookup_symbol_aux_local, lookup_symbol_aux_block, lookup_symbol_from_objfile, lookup_symbol_aux_symtabs, lookup_symbol_aux_psymtabs,basic_lookup_symbol_nonlocal, lookup_symbol_static, lookup_symbol_global, symbol_matches_domain, basic_lookup_transparent_type, find_main_psymtab, lookup_block_symbol): Likewise. * symtab.h (basic_lookp_symbol_nonlocal, lookup_symbol_static, lookup_symbol_global, lookup_symbol_aux_block, lookup_symbol_partial_symbol, lookup_block_symbol, lookup_global_symbol, value_maybe_namespace_elt): Likewise. 2010-03-09 Pierre Muller * python/python-internal.h: Include symtab.h. 2010-03-09 Joel Brobecker Pierre Muller * p-lang.c (is_pascal_string_type): Remove unneeded parentheses. * p-valprint.c (pascal_val_print): Remove undeed block and fix indentation. 2010-03-08 Tom Tromey * breakpoint.c (breakpoint_1): Add "QUIT". 2010-03-08 Daniel Jacobowitz Pedro Alves * solib.c (solib_find): Replace extension if solib_symbols_extension is set in the target gdbarch. * arm-symbian-tdep.c (arm_symbian_init_abi): Set solib_symbols_extension to "sym". * gdbarch.sh (solib_symbols_extension): New variable. (pstring): New function. * gdbarch.h, gdbarch.c: Regenerate. 2010-03-08 Tom Tromey PR cli/9591: * NEWS: Update. * utils.c: Include main.h. (fputs_maybe_filtered): Don't paginate if `batch_flag'. (defaulted_query): Use default answer if `batch_flag'. * main.h (batch_flag): Declare. * main.c (batch_flag): New global. (captured_main): Remove 'batch'. Update. 2010-03-08 Kevin Buettner From Richard Sandiford, Martin M. Hunt, Corinna Vinschen, and Kevin Buettner: * remote-mips.c (rockhopper_ops): New target_ops struct. (MON_ROCKHOPPER): New mips_monitor_type. (read_hex_value): New function. (mips_request): Send 8-byte values with a 'T' packet. Read the packet argument as a string and use read_hex_value to parse it. (mips_exit_debug): Wait for response when using MON_ROCKHOPPER. (rockhopper_open): New function. (mips_wait): Read the PC, FP and SP fields as strings. Use read_hex_value to parse them and mips_set_register to commit them. (mips_set_register): New function. (mips_fetch_registers): Do not cast register value to "unsigned" when reading a MON_ROCKHOPPER 't' packet. Use mips_set_register. (mips_store_registers): Use a 'T' packet to set registers when using MON_ROCKHOPPER. (pmon_end_download): Don't run initEther if using MON_ROCKHOPPER and expect the total to be printed before the entry address. (_initialize_remote_mips): Initialize and add rockhopper_ops. 2010-03-08 Kevin Buettner * remote-mips.c (mips_fetch_word): Add new parameter, `valp'. Change return value to int. Store value fetched in location addressed by `val'. Use function's return value as success or failure indicator. Adjust all callers. 2010-03-08 Pierre Muller * p-lang.c (is_pascal_string_type): Check that TYPE arg is non NULL. 2010-03-08 Jan Kratochvil Hui Zhu * record.c (record_open_1): Check tmp_to_stopped_by_watchpoint and tmp_to_stopped_data_address. (record_open): Reset tmp_to_stopped_by_watchpoint and tmp_to_stopped_data_address. * target.c (init_dummy_target): Add to_stopped_by_watchpoint and to_stopped_data_address. 2010-03-08 Hui Zhu * i386-tdep.c (i386_process_record): Initialize regnum. 2010-03-08 Jan Kratochvil * symfile.c (addr_info_make_relative): New variable sect_name, use it. Do not warn on ".gnu.liblist" and ".gnu.conflict". 2010-03-08 Joel Brobecker Memory error when reading wrong core file. * solib-svr4.c (solib_svr4_r_map): catch and print all exception errors while reading the inferior memory, and return zero if an exception was raised. 2010-03-07 Michael Snyder * record.c (record_restore): Rename tmpu8 to rectype. * i386-tdep.c (i386_record_lea_modrm_addr): Rename local variables tmpu8, tmpi16, tmpi32, tmpulongest to addr8, addr16, addr32, addr64. (i386_record_push): Rename local tmpulongest to addr. (i386_process_record): Rename local tmpulongest to addr. Rename local variables tmpu16, tmpu32, tmpu64 to addr16, addr32, addr64. Rename local variable tmpu8 to opcode8 and regnum. 2010-03-07 Joel Brobecker * remote.c (remote_get_ada_task_ptid): New function. (init_remote_ops): Set remote_ops.to_get_ada_task_ptid. 2010-03-06 Christopher Faylor * windows-nat.c: Reorganize #ifdef __CYGWIN__ considerations into one block. Define helper macros to reduce ifdefs in code. (get_module_name): Use cygwin_buf_t for buffer and __PMAX for buffer size. Call unadorned GetModuleFileNameEx rather than GetModuleFileNameEx*. (windows_make_so): Use __PMAX to denote maximum buffer size and cygwin_buf_t for buffer type. Use GetSystemDirectory{W,A} as appropriate. (get_image_name): Use __PMAX to denote maximum buffer size. (handle_load_dll): Likewise. (windows_pid_to_exec_file): Likewise. (windows_create_inferior): Add many accommodations for older Cygwin and non-Cygwin. (bad_GetModuleFileNameExW): Control inclusion of this function based on __USEWIDE conditional. (bad_GetModuleFileNameExA): Likewise. (_initialize_loadable): Just use real function names without the dyn_ part since they are defined earlier. 2010-03-05 Corinna Vinschen Tom Tromey * utils.c (host_char_to_target): Add 'gdbarch' argument. (parse_escape): Likewise. * python/py-utils.c (unicode_to_target_string): Update. (unicode_to_target_python_string): Update. (target_string_to_unicode): Update. * printcmd.c (printf_command): Update. * p-exp.y (yylex): Update. * objc-exp.y (yylex): Update. * mi/mi-parse.c: Include charset.h. (mi_parse_escape): New function. (mi_parse_argv): Use it. * jv-exp.y (yylex): Update. * i386-cygwin-tdep.c (i386_cygwin_auto_wide_charset): New function. (i386_cygwin_init_abi): Call set_gdbarch_auto_wide_charset. * gdbarch.sh (auto_charset, auto_wide_charset): New. * gdbarch.c: Rebuild. * gdbarch.h: Rebuild. * defs.h (parse_escape): Update. * cli/cli-setshow.c: Include arch-utils.h. (do_setshow_command): Update. * cli/cli-cmds.c (echo_command): Update. * charset.h (target_charset, target_wide_charset): Update. * charset.c: Include arch-utils.h. (target_charset_name): Default to "auto". (target_wide_charset_name): Likewise. (show_target_charset_name): Handle "auto". (show_target_wide_charset_name): Likewise. (be_le_arch): New global. (set_be_le_names): Add 'gdbarch' argument. (validate): Likewise. Don't call set_be_le_names. (set_charset_sfunc, set_host_charset_sfunc) (set_target_charset_sfunc, set_target_wide_charset_sfunc): Update. (target_charset): Add 'gdbarch' argument. (target_wide_charset): Likewise. Remove 'byte_order' argument. (auto_target_charset_name): New global. (default_auto_charset, default_auto_wide_charset): New functions. (_initialize_charset): Set auto_target_charset_name. Allow "auto" for target charsets. Copy result of nl_langinfo. Use GetACP if USE_WIN32API. * c-lang.c (charset_for_string_type): Add 'gdbarch' argument, remove 'byte_order' argument. Update. (classify_type): Likewise. (c_emit_char): Update. (c_printchar): Update. (c_printstr): Update. (c_get_string): Update. (evaluate_subexp_c): Update. * arch-utils.h (default_auto_charset, default_auto_wide_charset): Declare. * python/python.c (gdbpy_target_charset): New function. (gdbpy_target_wide_charset): Likewise. (GdbMethods): Update. * NEWS: Update. 2010-03-05 Ulrich Weigand * symfile.c (build_section_addr_info_from_objfile): Do not mask off high address bits. 2010-03-05 Ulrich Weigand * python/py-lazy-string.c (gdbpy_extract_lazy_string): Extract address as UnsignedLongLong, not LongLong. 2010-03-05 Kevin Buettner Pedro Alves * remote-mips.c (gdbthread.h): Include. (remote_mips_ptid): Declare. (mips_error): Only mourn the inferior when inferior_ptid is non-null. (common_open): Set inferior_ptid, add it as an inferior, and as a thread too. Delete FIXME comment regarding start_remote(). (mips_close): Invoke generic_mourn_inferior(). (mips_kill): Make sure that target_mourn_inferior is invoked. (mips_mourn_inferior): Don't invoke generic_mourn_inferior, as it's now invoked from mips_close(). (mips_load): Don't null out inferior_ptid. Don't call clear_symtab_users(). (mips_thread_alive, mips_pid_to_str): New functions. (_initialize_remote_mips): Initialize remote_mips_ptid. Initialize to_thread_alive and to_pid_to_str operations. 2010-03-04 Tom Tromey * dwarf2read.c (skip_one_die) : Use offset size in DWARF 3 and later. (read_attribute_value) : Likewise. 2010-03-04 Keith Seitz * linespec.c (decode_line_1): Update comments for is_quote_enclosed. If the filename portion of the linespec was quoted, recheck the remainder for additional quoting. (locate_first_half): Skip over completer chars, too. 2010-03-04 Tom Tromey * printcmd.c (printf_command): Pass dummy argument to printf_filtered. 2010-03-04 Doug Evans * arm-tdep.c (arm_make_stub_cache): Delete unused locals reg, unwound_fp. * arm-tdep.c (arm_stub_unwind_sniffer): Add comment. 2010-03-04 Pedro Alves * breakpoint.c (update_watchpoint): Create a sentinel location if the software watchpoint isn't watching any memory. (breakpoint_address_bits): Skip dummy software watchpoint locations. 2010-03-04 Pedro Alves * utils.c (fputs_maybe_filtered): Check if there's already a top level interpreter before dereferencing it. If there isn't one, don't paginate either. 2010-03-04 Matthew Gretton-Dann * arm-tdep.c (arm_pc_is_thumb): Add heuristic that tries to get the state right when single stepping. (arm_get_next_pc_raw, thumb_get_next_pc_raw): New functions. Get the next PC along with the instruction state. (thumb_get_next_pc): Remove. (arm_get_next_pc): Modified to use arm_get_next_pc_raw. 2010-03-04 Hui Zhu * i386-tdep.c (i386_process_record): Change "addr" to "tmpu64". 2010-03-03 Pedro Alves * utils.c (fputs_maybe_filtered): Always disable pagination if the top level interpreter is MI. 2010-03-03 Stan Shebs * remote.c (remote_download_tracepoint): Iterate over locations. * tracepoint.c (validate_actionline): Ditto. (encode_actions): Add location argument. (trace_dump_command): Check all locations to see if stepping frame. 2010-03-03 H.J. Lu Eli Zaretskii * NEWS: Add X86 general purpose registers section. 2010-03-03 Tom Tromey PR mi/11098: * varobj.c (install_new_value): Handle case where new print_value is NULL. 2010-03-03 Dainis Jonitis PR gdb/11345: * printcmd.c (printf_command): Print end of format string using printf_filtered. 2010-03-02 Tom Tromey * mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'. * defs.h (read_command_lines_1): Add missing 'void'. * cli/cli-script.c (recurse_read_control_structure): Add missing 'void'. (read_next_line): Likewise. (read_command_lines_1): Likewise. 2010-03-02 Ulrich Weigand * spu-tdep.c (spu_analyze_prologue): Track instruction to store backchain as part of prologue. 2010-03-02 Daniel Jacobowitz * progspace.c (update_address_spaces): Update inferior address spaces also. 2010-03-02 Doug Evans * dwarf2read.c (add_partial_subprogram): Add missing baseaddr to lowpc,highpc args to addrmap_set_empty. 2010-03-02 H.J. Lu * amd64-tdep.c (amd64_byte_names): New. (amd64_word_names): Likewise. (amd64_dword_names): Likewise. (amd64_pseudo_register_name): Likewise. (amd64_pseudo_register_read): Likewise. (amd64_pseudo_register_write): Likewise. (amd64_init_abi): Set num_byte_regs, num_word_regs, num_dword_regs and num_mmx_regs. Call set_gdbarch_pseudo_register_read, set_gdbarch_pseudo_register_write and set_tdesc_pseudo_register_name. Don't call set_gdbarch_num_pseudo_regs. Don't set mm0_regnum. * i386-tdep.c (i386_num_mmx_regs): Removed. (i386_num_pseudo_regs): Likewise. (i386_byte_names): New. (i386_word_names): Likewise. (i386_byte_regnum_p): Likewise. (i386_word_regnum_p): Likewise. (i386_mmx_regnum_p): Updated. (i386_pseudo_register_name): Make it global. Handle byte and word pseudo-registers. (i386_pseudo_register_read): Likewise. (i386_pseudo_register_write): Likewise. (i386_pseudo_register_type): Handle byte, word and dword pseudo-registers (i386_register_reggroup_p): Don't include pseudo registers, except for MXX, in any register groups. Don't include pseudo byte, word, dword registers in general_reggroup. (i386_gdbarch_init): Set num_byte_regs, num_word_regs, num_dword_regs, al_regnum, ax_regnum and eax_regnum. Put MMX pseudo-registers after word pseudo-registers. Call set_gdbarch_num_pseudo_regs after calling gdbarch_init_osabi. * i386-tdep.h (gdbarch_tdep): Add num_mmx_regs, num_byte_regs, al_regnum, num_word_regs, ax_regnum, num_dword_regs and eax_regnum. (i386_byte_regnum_p): New. (i386_word_regnum_p): Likewise. (i386_dword_regnum_p): Likewise. (i386_pseudo_register_name): Likewise. (i386_pseudo_register_read): Likewise. (i386_pseudo_register_write): Likewise. 2010-03-01 H.J. Lu * target-descriptions.c (tdesc_type): Remove TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR. (tdesc_predefined_types): Likewise. (tdesc_gdb_type): Likewise. Pass NULL to append_flags_type_flag if flag name is empty. (maint_print_c_tdesc_cmd): Handle TDESC_TYPE_FLAGS. * features/i386/32bit-core.xml: Define i386_eflags. * features/i386/64bit-core.xml: Likewise. * features/i386/32bit-sse.xml: Define i386_mxcsr. * features/i386/64bit-sse.xml: Likewise. * features/i386/amd64-linux.c: Regenerated. * features/i386/amd64.c: Likewise. * features/i386/i386-linux.c: Likewise. * features/i386/i386.c: Likewise. 2010-03-01 Daniel Jacobowitz * gdbtypes.c (append_composite_type_field_raw): New. (append_composite_type_field_aligned): Use the new function. * gdbtypes.h (append_composite_type_field_raw): Declare. * target-descriptions.c (struct tdesc_type_field): Add start and end. (struct tdesc_type_flag): New type. (struct tdesc_type): Add TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS to kind. Add size to u.u. Add u.f for flags. (tdesc_gdb_type): Handle TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS. (tdesc_free_type): Likewise. (tdesc_create_struct, tdesc_set_struct_size, tdesc_create_flags): New. (tdesc_add_field): Handle TDESC_TYPE_STRUCT. (tdesc_add_bitfield, tdesc_add_flag): New. * target-descriptions.h (tdesc_create_struct, tdesc_set_struct_size) (tdesc_create_flags, tdesc_add_bitfield, tdesc_add_flag): Declare. * xml-tdesc.c (struct tdesc_parsing_data): Rename current_union to current_type. Add current_type_size and current_type_is_flags. (tdesc_start_union): Clear the new fields. (tdesc_start_struct, tdesc_start_flags): New. (tdesc_start_field): Handle struct fields, including bitfields. (field_attributes): Make type optional. Add start and end. (union_children): Rename to struct_union_children. (union_attributes): Rename to struct_union_attributes. Add optional size. (flags_attributes): New. (feature_children): Add struct and flags. * features/gdb-target.dtd: Add flags and struct to features. Make field type optional. Add field start and end. 2010-03-01 H.J. Lu * amd64-linux-nat.c (AMD64_LINUX_USER64_CS): New. (amd64_linux_read_description): Likewise. (_initialize_amd64_linux_nat): Set to_read_description to amd64_linux_read_description. * amd64-linux-tdep.c: Include "features/i386/amd64-linux.c". (amd64_linux_register_name): Removed. (amd64_linux_register_type): Likewise. (amd64_linux_core_read_description): New. (amd64_linux_init_abi): Set target description to tdesc_amd64_linux if needed. Support orig_rax in target description. Don't call set_gdbarch_register_name nor set_gdbarch_register_type. Call set_gdbarch_core_read_description. (_initialize_amd64_linux_tdep): Call initialize_tdesc_amd64_linux. * amd64-linux-tdep.h (tdesc_amd64_linux): New. * amd64-tdep.c: Include "features/i386/amd64.c". (amd64_register_names): Removed. (amd64_register_name): Likewise. (amd64_register_type): Likewise. (amd64_init_abi): Set num_core_regs and register_names. Set target description to tdesc_amd64 if needed. Don't call set_gdbarch_register_name nor set_gdbarch_register_type. (_initialize_amd64_tdep): New. * i386-linux-nat.c (i386_linux_read_description): New. (_initialize_i386_linux_nat): Set to_read_description to i386_linux_read_description. * i386-linux-tdep.c: Include "features/i386/i386-linux.c". (i386_linux_register_name): Removed. (i386_linux_core_read_description): New. (i386_linux_read_description): Likewise. (i386_linux_init_abi): Don't call set_gdbarch_register_name. Set target description to tdesc_i386_linux if needed. Support orig_eax. Set register_reggroup_p. Call set_gdbarch_core_read_description. (_initialize_i386_linux_tdep): Call initialize_tdesc_i386_linux. * i386-linux-tdep.h (tdesc_i386_linux): New. * i386-nto-tdep.c (i386nto_regset_id): Replace I386_NUM_FREGS with I387_NUM_REGS. * i386-tdep.c: Include "features/i386/i386.c". (i386_register_names): Make it const. (i386_mmx_names): Likewise. (i386_num_register_names): Removed. (i386_register_name): Likewise. (i386_eflags_type): Likewise. (i386_mxcsr_type): Likewise. (i386_sse_type): Likewise. (i386_register_type): Likewise. (i387_ext_type): Call tdesc_find_type instead of arch_float_type. (i386_pseudo_register_name): New. (i386_pseudo_register_type): Likewise. (i386_mmx_type): Make it static. (i386_gdbarch_init): Check arch. Replace I386_NUM_FREGS with I387_NUM_REGS. Set num_core_regs and register_names. Don't call set_gdbarch_register_name nor set_gdbarch_register_type. Set register_reggroup_p. Set target description to tdesc_i386 if needed. Call set_tdesc_pseudo_register_type, set_tdesc_pseudo_register_name and tdesc_use_registers. (_initialize_i386_tdep): Call initialize_tdesc_i386. initialize_tdesc_x86_64. * i386-tdep.h (gdbarch_tdep): Remove i386_eflags_type, i386_mxcsr_type and i386_sse_type. Add num_core_regs, register_names, tdesc and register_reggroup_p. (I386_NUM_FREGS): Removed. (i386_eflags_type): Likewise. (i386_mxcsr_type): Likewise. (i386_mmx_type): Likewise. (i386_sse_type): Likewise. (i386_register_name): Likewise. (i386_regnum): Add I386_MXCSR_REGNUM. (I386_SSE_NUM_REGS): Defined with I386_MXCSR_REGNUM. * i387-tdep.h (I387_NUM_REGS): New. * regformats/i386/i386-linux.dat: Generated. * regformats/i386/i386.dat: Likewise. * regformats/i386/amd64-linux.dat: Likewise. * regformats/i386/amd64.dat: Likewise. * regformats/reg-i386-linux.dat: Removed. * regformats/reg-i386.dat: Likewise. * regformats/reg-x86-64-linux.dat: Likewise. * regformats/reg-x86-64.dat: Likewise. 2010-03-01 Corinna Vinschen * remote-fileio.c (remote_fileio_func_rename): Use Cygwin 1.7 cygwin_conv_path API rather than the deprecated cygwin_conv_to_full_posix_path. * windows-nat.c: (GetModuleFileNameExA): Undefine for Cygwin. (GetModuleFileNameExW): Define for Cygwin. (get_module_name): Change size of pathbuf to PATH_MAX for Cygwin. Call GetModuleFileNameExW and convert path to POSIX using cygwin_conv_path. (windows_make_so): Always define p. Drop unused variable m. Don't use Win32 functions to check file existance, rather use access on Cygwin. Fetch system directory using GetSystemDirectoryW. Use canonicalize_file_name to get full path. (get_image_name): Use wcstombs, rather than WideCharToMultiByte to convert Unicode pathname to multibyte on Cygwin. Otherwise, use correct target buffer size in call to WideCharToMultiByte. (handle_load_dll): Change size of dll_buf to PATH_MAX for Cygwin. (windows_pid_to_exec_file): Change size of path to PATH_MAX for Cygwin. (windows_create_inferior): Convert all paths and arguments to wchar_t and use CreateProcessW on Cygwin. (_initialize_windows_nat): Disable DOS-style path warning on Cygwin. (bad_GetModuleFileNameExA): Undefine for Cygwin. (bad_GetModuleFileNameExW): Define for Cygwin. (_initialize_loadable): Load GetModuleFileNameExW into dyn_GetModuleFileNameExW on Cygwin. Don't load ANSI function on Cygwin. 2010-02-28 Phil Muldoon PR python/11036 * python/py-frame.c (frapy_read_var): Add block argument and logic to cope with user provided blocks. 2010-02-28 Jan Kratochvil * infcall.c (call_function_by_hand): Remove gdb_assert on sp and old_sp. New comment. 2010-02-28 Corinna Vinschen * Makefile.in (SUBDIR_MI_OBS): Move mi-common.o from here... (COMMON_OBS): ... to here since it's used unconditionally. (SUBDIR_MI_SRCS): Move mi/mi-common.c from here... (SFILES): To here. 2010-02-26 David Daney * mips-linux-tdep.c: Update struct sigframe comments. (SIGFRAME_CODE_OFFSET): Delete macro. (mips_linux_o32_sigframe_init): Calculate sigcontext_base using this_frame's sp. (mips_linux_n32n64_sigframe_init): Same. 2010-02-26 Kevin Buettner * remote-mips.c (mips_load): Don't use pseudo-register when invalidating regcache. 2010-02-26 Daniel Jacobowitz * arm-tdep.c (thumb_get_next_pc): Correct conditional branch opcode. 2010-02-26 Pedro Alves * NEWS: Add "New targets" section, and mention ARM Symbian support. 2010-02-26 Ulrich Weigand * dwarf2loc.c (struct piece_closure): Remove ARCH member, add ADDR_SIZE member. (allocate_piece_closure): Update. (copy_pieced_value_closure): Likewise. (dwarf2_evaluate_loc_desc): Likewise. (read_pieced_value): Use DWARF address size instead of GDB's gdbarch_addr_bit as size of values on the DWARF stack. 2010-02-26 Phil Muldoon Tom Tromey * python/py-type.c (typy_lookup_typename): Add in block argument. If provided restrict lookup to specified blocks. (gdbpy_lookup_type): Likewise. (typy_lookup_type): Likewise. 2010-02-25 Daniel Jacobowitz Symbian config gdb/ * arm-symbian-tdep.c: New. * configure.tgt (arm*-*-symbianelf*): New target. (*-*-symbianelf*): New OS. * osabi.c (gdb_osabi_names): Add Symbian. * defs.h (gdb_osabi): Add GDB_OSABI_SYMBIAN. * Makefile.in (ALL_TARGET_OBJS): Add arm-symbian-tdep.o. (ALLDEPFILES): Add arm-symbian-tdep.c. 2010-02-25 Daniel Jacobowitz * symfile.c (find_lowest_section): Include SEC_ALLOC sections. 2010-02-24 Pedro Alves * mi/mi-main.c (mi_cmd_execute): Fix typo. 2010-02-24 Phil Muldoon Tom Tromey Thiago Jung Bauermann * python/python.c (_initialize_python): Call gdbpy_initialize_symtabs, gdbpy_initialize_symbols and gdbpy_initialize_blocks. * python/python-internal.h: Declare struct symbol, block and symtab_and_line. Declare block_object_type and symbol_object_type (gdbpy_lookup_symbol gdbpy_block_for_pc) (symtab_and_line_to_sal_object, symtab_to_symtab_object) (symbol_to_symbol_object, block_to_block_object) (gdbpy_initialize_symtabs,gdbpy_initialize_symbols) (gdbpy_initialize_blocks ): Declare. * python/py-frame.c (frapy_block, frapy_function, frapy_find_sal) (frapy_select): Add methods. (frapy_read_var): Add symbol branch. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-symbol, py-symtab, py-block. (SUBDIR_PYTHON_SRCS): Likewise. (py-symbol.o): New rule. (py-symtab.o): Likewise. (py-block.o): Likewise. * python/py-symbol.c: New file. * python/py-symtab.c: Likewise. * python/py-block.c: Likewise. 2010-02-24 Pedro Alves PR gdb/11321 * inferior.h (prepare_for_detach): Declare. (struct inferior) : New field. * infrun.c (prepare_for_detach): New. (handle_inferior_event) : Don't stop if detaching. * target.c (target_detach): Call prepare_for_detach. 2010-02-24 Pedro Alves Per-process displaced stepping queue. * infrun.c (displaced_step_ptid, displaced_step_request_queue) (displaced_step_gdbarch, displaced_step_closure, (displaced_step_original, displaced_step_copy): Move globals to this... (struct displaced_step_inferior_state): ... new structure. (displaced_step_inferior_states): New global. (get_displaced_stepping_state, add_displaced_stepping_state) (remove_displaced_stepping_state, infrun_inferior_exit): New functions. (displaced_step_clear): Add displaced_step_inferior_state parameter, and adjust to handle it. (displaced_step_clear_cleanup): Parameter is now a displaced_step_inferior_state. Adjust. (displaced_step_prepare): Adjust. (displaced_step_fixup, displaced_step_fixup) (infrun_thread_ptid_changed, resume): Adjust. (init_wait_for_inferior): Don't call displaced_step_clear. (infrun_thread_stop_requested): Rewrite. (_initialize_infrun): Install infrun_inferior_exit as inferior_exit observer. 2010-02-24 Pedro Alves * inferior.h (ptid_match): Declare. * infrun.c (ptid_match): New. * remote.c (queued_stop_reply): Rewrite and use ptid_match. (handle_notification): Add debug output. * linux-nat.c (ptid_match): Delete. 2010-02-24 David S. Miller * gdb_ptrace.h (PT_SYSCALL): If PTRACE_SYSCALL is available, use it. * syscalls/sparc-linux.xml: New. * syscalls/sparc64-linux.xml: New. * Makefile.in (XML_SYSCALL_FILES): Add new syscall XML files. * sparc-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC32): Define. (sparc32_linux_get_syscall_number): New function. (sparc32_linux_init_abi): Set syscall XML file name and hook up syscall number fetcher. * sparc64-linux-tdep.c (XML_SYSCALL_FILENAME_SPARC64): Define. (sparc64_linux_get_syscall_number): New function. (sparc64_linux_init_abi): Set syscall XML file name and hook up syscall number fetcher. 2010-02-24 Vladimir Prus Multiexec MI * breakpoint.c (clear_syscall_counts): Take struct inferior*. * inferior.c (add_inferior_silent): Notify inferior_added observer. (delete_inferior_1): Notify inferior_removed observer. (exit_inferior_1): Pass inferior, not pid, to observer. (inferior_appeared): Likewise. (add_inferior_with_spaces): New. (add_inferior_command): Use the above. * inferior.h (delete_inferior_1, add_inferior_with_spaces): Declare. * inflow.c (inflow_inferior_exit): Likewise. * jit.c (jit_inferior_exit_hook): Likewise. * mi/mi-cmds.c (mi_cmds): Register add-inferior and remove-inferior. * mi/mi-cmds.h (mi_cmd_add_inferior, mi_cmd_remove_inferior): New. * mi/mi-interp.c (mi_inferior_added, mi_inferior_removed): New. (report_initial_inferior): New. (mi_inferior_removed): Register the above. Make sure inferior_added observer is called on the first inferior. (mi_new_thread, mi_thread_exit): Thread group is now identified by inferior number, not pid. (mi_solib_loaded, mi_solib_unloaded): Report which inferiors are affected. * mi/mi-main.c (current_context): New. (proceed_thread_callback): Use typed closure. Proceed everything if pid is 0. Most implementation split into (proceed_thread): ... this. (run_one_inferior): New. (mi_cmd_exec_continue, mi_cmd_exec_interrupt, mi_cmd_exec_run): Adjust for multiexec behaviour. (mi_cmd_add_inferior, mi_cmd_remove_inferior): New. (mi_cmd_execute): Handle the 'thread-group' option here. Do some extra checks. * mi-parse.c (mi_parse): Handle the --all and --thread-group options. * mi-parse.h (struct mi_parse): New fields all and thread_group. 2010-02-24 Vladimir Prus Make -exec-run a proper MI commands. * mi/mi-cmds.h (mi_cmd_exec_run): Declare. * mi/mi-cmds.c (mi_cmds): Adjust. * mi/mi-main.c (mi_cmd_exec_run): New. 2010-02-24 Pedro Alves Stan Shebs * tracepoint.h (set_traceframe_number) (cleanup_restore_current_traceframe): Declare. * tracepoint.c (set_traceframe_number): New. (struct current_traceframe_cleanup): New. (do_restore_current_traceframe_cleanup) (restore_current_traceframe_cleanup_dtor) (make_cleanup_restore_current_traceframe): New. * infrun.c: Include tracepoint.h. (fetch_inferior_event): Switch out and in of tfind mode. 2010-02-24 Pedro Alves * breakpoint.c (breakpoint_init_inferior): Also delete bp_shlib_event breakpoints. * solib-frv.c (enable_break): Remove call to remove_solib_event_breakpoints. * solib-svr4.c (enable_break): Ditto. * solib-darwin.c (darwin_solib_create_inferior_hook): Ditto. * solib-pa64.c (pa64_solib_create_inferior_hook): Ditto. * solib-som.c (som_solib_create_inferior_hook): Ditto. * solib-spu.c (spu_enable_break): Ditto. 2010-02-23 Harald Koenig * c-exp.y (token_and_value): s/union YYSTYPE/YYSTYPE. 2010-02-23 Harald Koenig * varobj.c (varobj_update): Avoid non-constants in initializers. 2010-02-23 Tom Tromey * dwarf2loc.c (read_pieced_value) : Correctly handle big-endian values. (dwarf2_evaluate_loc_desc) : Likewise. 2010-02-22 Pedro Alves PR9605 gdb/ * breakpoint.c (insert_bp_location): If inserting the read watchpoint failed, fallback to an access watchpoint. (bpstat_check_watchpoint): Stop for read watchpoint triggers even if the value changed, if not watching the same memory for writes. (watchpoint_locations_match): Add comment. (update_global_location_list): Copy the location's watchpoint type. * i386-nat.c (i386_length_and_rw_bits): It's an internal error to handle read watchpoints here. (i386_insert_watchpoint): Read watchpoints aren't supported. * remote.c (remote_insert_watchpoint): Return 1 for unsupported packets. * target.h (target_insert_watchpoint): Update description. 2010-02-19 Tom Tromey * p-typeprint.c (pascal_type_print_varspec_prefix): Update. * m2-typeprint.c (m2_print_type): Update. * gdbtypes.c (recursive_dump_type): Update. (copy_type_recursive): Update. * c-typeprint.c (c_type_print_varspec_prefix): Update. (c_type_print_base): Update. * gdbtypes.h (TYPE_CODE_TEMPLATE, TYPE_CODE_TEMPLATE_ARG): Remove. (struct cplus_struct_type) : Remove. : Remove. : Move earlier. (TYPE_TEMPLATE_ARGS): Remove. (TYPE_NTEMPLATE_ARGS): Remove. (TYPE_TEMPLATE_ARG): Remove. 2010-02-19 Tom Tromey PR c++/8693, PR c++/9496: * cp-namespace.c (cp_lookup_nested_type): Handle TYPE_CODE_UNION. * c-exp.y (lex_one_token): Rename from yylex. Don't call write_dollar_variable. Don't try to classify NAME tokens. (token_and_value): New type. (token_fifo, popping, name_obstack): New globals. (classify_name): New function. (classify_inner_name): Likewise. (yylex): Likewise. (VARIABLE): Now has type sval. (exp : VARIABLE): Call write_dollar_variable. (qualified_name): Use TYPENAME, not typebase. Add production for multiple "::" instances. (variable): Use name_not_typename. (qualified_type): Remove. (typebase): Update. 2010-02-19 Jan Kratochvil * symfile.c (addr_info_make_relative): Extend comment. Move SECT to a more inner block. Initialize ADDR by LOWER_OFFSET only if it was found by bfd_get_section_by_name. * symfile.h (struct section_addr_info) : New comment. 2010-02-19 Joel Brobecker * NEWS: Add new "[...] since 7.1" section. Rename the "[...] since 7.0 section" into "Changes in 7.1". 2010-02-19 Joel Brobecker GDB 7.1 branch created (branch timestamp: 2010-02-18 20:00 UTC) * version.in: Bump version to 7.1.50.20100219-cvs. 2010-02-18 Harald Koenig * mi/mi-main.c (mi_cmd_exec_jump): Drop unneeded `return'. * symfile.c (symfile_map_offsets_to_segments): Fix assertion. 2010-02-17 Tom Tromey * NEWS: Add Python API Improvements section. 2010-02-18 Daniel Jacobowitz * NEWS: Correct typo. 2010-02-17 Tom Tromey * objfiles.c (gdb_bfd_ref): Handle abfd==NULL. 2010-02-17 Jan Kratochvil * symfile.c (build_section_addr_info_from_objfile): Include sections only if they are SEC_ALLOC or SEC_LOAD. 2010-02-17 H.J. Lu PR shlibs/11293 * solib-svr4.c (enable_break): Check size of CORE_ADDR instead of ULONGEST for address size. 2010-02-17 Tom Tromey * NEWS: Add C++ improvements section. 2010-02-17 Ulrich Weigand * python/python-internal.h [!WITH_THREAD] (PyGILState_Release, PyThreadState_Swap): Avoid "statement with no effect" warning. 2010-02-17 Jan Kratochvil * solib-svr4.c (enable_break ): New variable addr_bit. Adjust LOAD_ADDR sign for cross-arch inferiors. 2010-02-17 Tristan Gingold Petr HluzĂ­n * avr-tdep.c (avr_scan_prologue): Convert an if statement to a gdb_assert. Fix info->size for SIG prologue. 2010-02-16 Daniel Jacobowitz * infcmd.c (show_inferior_tty_command): Check for NULL. Correct output message. 2010-02-16 Daniel Jacobowitz * linespec.c (decode_line_1): Handle FILE:FUNCTION even if FUNCTION contains parentheses. Improve removal of a trailing single quote. 2010-02-16 Daniel Jacobowitz * gcore.c (do_bfd_delete_cleanup): New function. (gcore_command): Use it. Discard the cleanup after success. (gcore_copy_callback): Delete dead code. 2010-02-16 Daniel Jacobowitz * symfile.c (addr_info_make_relative): Always use find_lowest_section. 2010-02-16 Sami Wagiaalla * NEWS: Added entry for namespace fixes. 2010-02-15 Tom Tromey * dwarf2read.c (guess_structure_name): Allocate name on the objfile obstack. 2010-02-15 Tom Tromey * c-typeprint.c (c_type_print_base): Reverse order of test. 2010-02-15 Jan Kratochvil * solib-svr4.c (LM_ADDR_CHECK): New variable minpagesize. Optionally initialize it from ELF BFD. Extend the prelink condition by it. 2010-02-15 Jan Kratochvil * defs.h (parse_pid_to_attach): New. * utils.c (parse_pid_to_attach): New. * darwin-nat.c (darwin_attach): Replace ARGS parsing by parse_pid. * gnu-nat.c (gnu_attach): Likewise. * nto-procfs.c (procfs_attach): Likewise. * procfs.c (procfs_attach): Likewise. * windows-nat.c (windows_attach): Likewise. * inf-ptrace.c (inf_ptrace_attach): Likewise. Remove variable dummy. * inf-ttrace.c (inf_ttrace_attach): Likewise. * remote.c (extended_remote_attach_1): Likewise. New comment on getpid check. 2010-02-14 Masaki Muranaka * MAINTAINERS: Add myself for write after approval privileges. 2010-02-13 Jan Kratochvil * solib-svr4.c: (LM_ADDR_CHECK): Move variable align to a more inner block. 2010-02-13 Jan Kratochvil * solib-svr4.c: (LM_ADDR_CHECK): Print successful prelink adjustment only if INFO_VERBOSE. 2010-02-12 Tomas Holmberg * mi/mi-main.c: Added the --reverse flag to the following MI commands: exec-continue, exec-finish, exec-next, exec-step, exec-next-instruction, exec-step-instruction. This is to support reverse execution over the MI interface to gdb. 2010-02-12 Pedro Alves * tracepoint.c (_initialize_tracepoint): Specify that the address range of `tfind outsize' is exclusive, and that the address range of `tfind range' is inclusive, in the commands' help strings. 2010-02-12 Joel Brobecker Spurious "dll not found" error messages on x64-windows. * windows-nat.c: Add include of complaints.h. (handle_unload_dll): Change dll-not-found error into a complaint. 2010-02-12 Pedro Alves * breakpoint.c (allocate_bp_location): Use bp_loc_other for bp_tracepoint and bp_fast_tracepoint, not bp_loc_software_breakpoint. (update_global_location_list): Tracepoints are never duplicates of anything. 2010-02-12 Pedro Alves * breakpoint.c (break_command_really): Change return type to int. Return false if no breakpoint was created, true otherwise. (trace_command): Don't set the tracepoint count if no tracepoint was created. (ftrace_command): Ditto. (create_tracepoint_from_upload): Bail out if the tracepoint wasn't created in the breakpoints table. 2010-02-11 Jan Kratochvil Ulrich Weigand * solib-svr4.c (LM_ADDR_CHECK): New comment on PPC-aware condition. 2010-02-11 Pedro Alves * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if the offset value isn't of integral type. 2010-02-11 Jan Kratochvil * breakpoint.c (delete_breakpoint) related_breakpoint != NULL>: New. 2010-02-11 Pedro Alves * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out on non-subscriptable types. * valarith.c (binop_types_user_defined_p): New, abstracted out from ... (binop_user_defined_p): ... this. * value.h (binop_types_user_defined_p): Declare. 2010-02-11 Pedro Alves * tracepoint.c (tfile_open): Remove spurious discard_cleanups. Merge uploaded TSVs before merging uploaded tracepoints. 2010-02-11 Pedro Alves * ax-gdb.c (gen_deref): Don't allow dereferencing void pointers. 2010-02-11 Vladimir Prus * mi/mi-cmd-stack.c (mi_cmd_stack_list_locals): Add extra whitespace character after a dot in comment. (mi_cmd_stack_list_arguments, mi_cmd_stack_list_variables): Likewise. (list_args_or_locals): For the 'all' (that is -stack-list-variables) case, always output list of tuples. Output 'arg' field if variable is argument. 2010-02-10 Tom Tromey * parser-defs.h (parser_debug): Declare. * parse.c (_initialize_parse): Install "debug parser" set/show command. (parser_debug): New global. (show_parserdebug): New function. * c-exp.y (c_parse): Set yydebug. 2010-02-10 H.J. Lu * target-descriptions.c (tdesc_type): Add TDESC_TYPE_I387_EXT, TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR. (tdesc_predefined_types): Add i387_ext, i386_eflags and i386_mxcsr. (tdesc_find_type): New. (tdesc_gdb_type): Use tdesc_find_type. Handle TDESC_TYPE_I387_EXT, TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR. * target-descriptions.h (tdesc_find_type): New. 2010-02-10 Michael Snyder * gdb-gdb.py: Comment fix. 2010-02-09 Tristan Gingold * machoread.c (macho_symfile_relocate): New function. (macho_sym_fns): Use macho_symfile_relocate instead of default_symfile_relocate. (macho_oso_data): New type. (current_oso): New variable. (macho_add_oso_symfile): Do not compute section_addr_info, but instead set vma of sections. Do not set SYMFILE_VERBOSE to call symbol_file_add_from_bfd. Set and clear current_oso. 2010-02-09 Joel Brobecker Wrong type description for tagged type parameter. * ada-lang.c (ada_evaluate_subexp) [OP_VAR_VALUE]: When noside is EVAL_AVOID_SIDE_EFFECTS, also handle the case when type is a reference to a tagged type. 2010-02-09 Tristan Gingold * objfiles.c (objfile_separate_debug_iterate): Do not iterate on brothers of the parent. 2010-02-08 Tom Tromey PR c++/8017: * value.h: Update. * valops.c (search_struct_field): Make 'name' const. (search_struct_method): Likewise. (find_method_list): Make 'method' const. (value_struct_elt): Make 'name' and 'err' const. (value_find_oload_method_list): Make 'method' const. (find_overload_match): Make 'name' const. * eval.c (evaluate_subexp_standard): New locals function, function_name. : Handle OP_SCOPE specially. 2010-02-08 Ulrich Weigand * infrun.c (handle_inferior_event): Do not look up regcache for exited processes. Mon Feb 8 13:17:10 2010 Chris Moller PR gdb/10728 * valarith.c (value_ptrdiff): Added a test for a zero type length, warn if found, and assume length = 1. 2010-02-08 Chris Moller PR gdb/9067 * cp-valprint.c (cp_print_value_fields) Fix use of obstacks. cp_print_static_field) Fix use of obstacks. 2010-02-08 Pedro Alves * linux-nat.c (linux_nat_resume): In non-stop, also only tag resumed LWPs as resumed. (linux_nat_wait_1): If there's no resumed LWP in the set of LWPs we're waiting for, bail out with TARGET_WAITKIND_IGNORE, instead of throwing an internal error. If an LWP of a process we're not waiting for reports a signal, don't force collecting a SIGSTOP, and if it was breakpoint hit in non-stop mode, cancel it. Don't go through all LWPs cancelling breakpoints in non-stop mode. (resume_stopped_resumed_lwps): New. (linux_nat_wait): Use it. 2010-02-07 H.J. Lu * features/Makefile (WHICH): Add i386/i386, i386/i386-linux, i386/amd64 and i386/amd64-linux. (i386/i386-expedite): New. (i386/i386-linux-expedite): Likewise. (i386/amd64-expedite):Likewise. (i386/amd64-linux-expedite): Likewise. ($(outdir)/i386/i386-linux.dat): Likewise. ($(outdir)/i386/amd64.dat): Likewise. ($(outdir)/i386/amd64-linux.dat): Likewise. * features/i386/32bit-core.xml: New. * features/i386/32bit-linux.xml: Likewise. * features/i386/32bit-sse.xml: Likewise. * features/i386/64bit-core.xml: Likewise. * features/i386/64bit-linux.xml: Likewise. * features/i386/64bit-sse.xml: Likewise. * features/i386/i386-linux.xml: Likewise. * features/i386/i386.xml: Likewise. * features/i386/amd64-linux.xml: Likewise. * features/i386/amd64.xml: Likewise. * features/i386/i386-linux.c: Likewise. * features/i386/i386.c: Likewise. * features/i386/amd64-linux.c: Likewise. * features/i386/amd64.c: Likewise. 2010-02-05 Sami Wagiaalla PR c++/7935: * cp-support.h: Added char* alias element to using_direct data struct. (cp_add_using): Added char* alias argument. (cp_add_using_directive): Ditto. * cp-namespace.c: Updated with the above changes. (cp_lookup_symbol_imports): Check for aliases. * dwarf2read.c (read_import_statement): Figure out local alias for the import and pass it on to cp_add_using. (read_namespace): Pass alias argument to cp_add_using. 2010-02-05 Hui Zhu * defs.h (gdb_bfd_errmsg): New extern. * exec.c (exec_file_attach): Change bfd_errmsg to gdb_bfd_errmsg. * utils.c (AMBIGUOUS_MESS1): New macro. (AMBIGUOUS_MESS2): New macro. (gdb_bfd_errmsg): New function. 2010-02-04 Doug Evans * solib-svr4.c (enable_break): Add comment. 2010-02-04 Anthony Green * moxie-tdep.c (moxie_analyze_prologue): Fail protocol analysis gracefully. 2010-02-04 Tom Tromey * valops.c (search_struct_field): Account for value_embedded_offset. Fix check for virtual base past the end of the object. Use value_copy when making a slice of the value. 2010-02-04 H.J. Lu PR tui/9622 * tui/tui-interp.c (tui_init): Call tui_initialize_readline only if gdb_stdout is a tty. 2010-02-04 H.J. Lu * target-descriptions.c: Include "osabi.h". (maint_print_c_tdesc_cmd): Generate set_tdesc_osabi for valid OSABI. 2010-02-04 Tristan Gingold * machoread.c (macho_add_oso): Renamed to macho_register_oso. (macho_symtab_read): Adjust calls to macho_add_oso. (macho_oso_symfile): Renamed to macho_symfile_read_all_oso. (macho_symfile_read): Adjust call to macho_oso_symfile. (macho_new_init): Move this function after declarations. (macho_symfile_init): Ditto. * darwin-nat-info.c (darwin_lib_gdb_ports): Remove. * darwin-nat.c (darwin_lookup_task): Remove unused prototype. 2010-02-04 Vladimir Prus Include MI command in remotelog. * mi/mi-main.c (mi_execute_command): Call target_log_command. 2010-02-03 H.J. Lu * remote.c (remote_state): Remove gdbarch. (init_remote_state): Don't set gdbarch. (remote_query_supported): Pass target_gdbarch instead of rs->gdbarch to gdbarch_qsupported. 2010-02-03 H.J. Lu * gdbarch.sh: Add qsupported. * gdbarch.c: Regenerated. * gdbarch.h: Likewise. * remote.c (remote_state): Add gdbarch. (init_remote_state): Set gdbarch. (remote_query_supported): Support gdbarch_qsupported. 2010-02-03 Daniel Jacobowitz * amd64fbsd-nat.c (amd64fbsd_supply_pcb): Also check for __FreeBSD_kernel_version. 2010-02-03 Tristan Gingold * symfile.h (struct sym_fns): Add sym_relocate field. (default_symfile_relocate): New prototype. (symfile_relocate_debug_section): First argument is now an objfile. * symfile.c (default_symfile_relocate): Rename from symfile_relocate_debug_section, first argument is now an objfile. (symfile_relocate_debug_section): New function. * coffread.c (coff_sym_fns): Set sym_relocate field. * somread.c (som_sym_fns): Ditto. * mipsread.c (ecoff_sym_fns): Ditto. * machoread.c (macho_sym_fns): Ditto. * elfread.c (elf_sym_fns): Ditto. * dwarf2read.c (dwarf2_read_section): Ditto. * xcoffread.c (xcoff_sym_fns): Ditto. * dbxread.c (aout_sym_fns): Ditto. (dbx_psymtab_to_symtab): Adjust call to symfile_relocate_debug_section. (elfstab_build_psymtabs): Ditto. 2010-02-03 H.J. Lu * defs.h (MAX_REGISTER_SIZE): Increase to 32. 2010-02-02 Tom Tromey * valops.c (value_cast_structs): Try downcasting using the RTTI type. 2010-02-02 Tom Tromey * gnu-v2-abi.c: Don't include gnu-v2-abi.h. (gnuv2_baseclass_offset): Now static. * Makefile.in (HFILES_NO_SRCDIR): Remove gnu-v2-abi.h. * gnu-v2-abi.h: Remove. 2010-02-02 Tom Tromey * m2-typeprint.c (m2_record_fields): Don't use TYPE_DECLARED_TYPE. * gdbtypes.h (TYPE_DECLARED_CLASS): New macro. (struct main_type) : New field. (struct cplus_struct_type) : Remove. : Move earlier. (DECLARED_TYPE_CLASS, DECLARED_TYPE_UNION, DECLARED_TYPE_STRUCT) (DECLARED_TYPE_TEMPLATE): Remove. (TYPE_DECLARED_TYPE): Remove. * gdbtypes.c (lookup_union): Don't use TYPE_DECLARED_TYPE. * dwarf2read.c (read_structure_type): Set TYPE_DECLARED_CLASS. * c-typeprint.c (c_type_print_base): Use TYPE_DECLARED_CLASS, not TYPE_DECLARED_TYPE. 2010-02-02 Tom Tromey PR c++/11226, PR c++/9629, PR c++/9688, PR c++/8890: * valops.c (search_struct_field): Compute nbases after calling CHECK_TYPEDEF. (check_field): Call CHECK_TYPEDEF. * cp-valprint.c (cp_print_value): Pass correct address to baseclass_offset. Fix check for virtual base past the end of the object. Don't offset address passed to cp_print_value_fields or apply_val_pretty_printer. (cp_print_value_fields): Fix call to val_print. (cp_print_value_fields_rtti): New function. * c-valprint.c (c_val_print): Use cp_print_value_fields_rtti. * p-valprint.c (pascal_object_print_value_fields): Fix call to val_print. * python/py-prettyprint.c (apply_val_pretty_printer): Add embedded offset to address. * language.h (struct language_defn) : Document. * c-lang.h (cp_print_value_fields_rtti): Declare. 2010-02-01 Jan Kratochvil PR libc/11214: * linux-low.c (linux_tracefork_child) [!(__UCLIBC__ && HAS_NOMMU)]: New. (linux_test_for_tracefork): Move `stack' into [__UCLIBC__ && HAS_NOMMU]. (linux_test_for_tracefork) [!(__UCLIBC__ && HAS_NOMMU)]: New. 2010-02-01 Michael Matz Daniel Jacobowitz * i386-tdep.c (i386_frame_cache): Assume valid anonymous functions use a frame pointer. 2010-02-01 Jan Kratochvil * solib-svr4.c (scan_dyntag): New variable dyn_addr. Replace gdb_assert by a conditional setting DYN_ADDR. Use DYN_ADDR. * config/djgpp/fnchange.lst: Add translations for symbol-without-target_section.exp and symbol-without-target_section.c. 2010-02-01 Daniel Jacobowitz * gdbarch.sh: Set LANG and LC_ALL to C, not c. (remote_breakpoint_for_pc): Correct invalid_p check. * gdbarch.c: Regenerated. 2010-02-01 Daniel Jacobowitz * arm-tdep.c (arm_find_mapping_symbol): New function, from arm_pc_is_thumb. (arm_pc_is_thumb): Use arm_find_mapping_symbol. (extend_buffer_earlier): New function. (MAX_IT_BLOCK_PREFIX, IT_SCAN_THRESHOLD): New constants. (arm_adjust_breakpoint_address): New function. (arm_gdbarch_init): Register arm_adjust_breakpoint_address. 2010-02-01 Daniel Jacobowitz * arm-linux-tdep.c (arm_linux_thumb2_be_breakpoint) (arm_linux_thumb2_le_breakpoint): New constants. (arm_linux_init_abi): Set thumb2_breakpoint and thumb2_breakpoint_size. * arm-tdep.c (thumb_insn_size, thumb_advance_itstate): New functions. (thumb_get_next_pc): Add a comment. Rename IT to ITSTATE. Implement support for single stepping through IT blocks if a 32-bit Thumb breakpoint instruction is available. (arm_breakpoint_from_pc): If a 32-bit Thumb breakpoint instruction is available, use it when needed. (arm_remote_breakpoint_from_pc): New function. (arm_gdbarch_init): Register arm_remote_breakpoint_from_pc. * arm-tdep.h (struct gdbarch_tdep): Correct thumb_breakpoint comment. Add thumb2_breakpoint and thumb2_breakpoint_size. 2010-02-01 Daniel Jacobowitz * arch-utils.c (default_remote_breakpoint_from_pc): New function. * arch-utils.h (default_remote_breakpoint_from_pc): Declare. * gdbarch.c, gdbarch.h: Regenerated. * gdbarch.sh (remote_breakpoint_from_pc): New architecture method. * remote.c (remote_insert_breakpoint, remote_insert_hw_breakpoint): Use gdbarch_remote_breakpoint_from_pc. 2010-01-29 Daniel Jacobowitz * infrun.c (prepare_to_proceed): Handle other signals which might match a breakpoint. (handle_inferior_event): Move the check for unusual breakpoint signals earlier. 2010-01-29 Paul Hilfinger amd64 - function returning record with field straddling 2 registers. * amd64-tdep.c (amd_classify_aggregate): Handle the case of a record of length <= 16 in which a field straddles the two eightbytes. 2010-01-29 Joel Brobecker Implement return values on amd64-windows. * amd64-windows-tdep.c: #include gdbcore.h and regcache.h. (amd64_windows_return_value): New function. (amd64_windows_init_abi): Call set_gdbarch_return_value with amd64_windows_return_value. 2010-01-29 Joel Brobecker amd64-windows: 32 bytes allocated on stack by caller for integer parameter registers. * i386-tdep.h (struct gdbarch_tdep): Add new field integer_param_regs_saved_in_caller_frame. * amd64-windows-tdep.c (amd64_windows_init_abi): Set tdep->integer_param_regs_saved_in_caller_frame to 1. * amd64-tdep.c (amd64_push_dummy_call): Allocate some memory on stack if tdep->integer_param_regs_saved_in_caller_frame is set. 2010-01-29 Joel Brobecker amd64-windows: memory args passed by pointer during function calls. * i386-tdep.h (gdbarch_tdep): Add field memory_args_by_pointer. * amd64-tdep.c (amd64_push_arguments): Add handling of architectures where tdep->memory_args_by_pointer is non-zero. * amd64-windows-tdep.c (amd64_windows_init_abi): Set tdep->memory_args_by_pointer to 1. 2010-01-29 Joel Brobecker amd64-windows: Integer parameters in function calls. * i386-tdep.h (enum amd64_reg_class): New, moved here from amd64-tdep.c. (struct gdbarch_tdep): Add fields call_dummy_num_integer_regs, call_dummy_integer_regs, and classify. * amd64-tdep.h (amd64_classify): Add declaration. * amd64-tdep.c (amd64_dummy_call_integer_regs): New static constant. (amd64_reg_class): Delete, moved to i386-tdep.h. (amd64_classify): Make non-static. Move declaration to amd64-tdep.h. Replace call to amd64_classify by call to tdep->classify. (amd64_push_arguments): Get the list of registers to use for passing integer parameters from the gdbarch tdep structure, rather than using a hardcoded one. Replace calls to amd64_classify by calls to tdep->classify. (amd64_push_dummy_call): Get the register number used for the "hidden" argument from tdep->call_dummy_integer_regs. (amd64_init_abi): Initialize tdep->call_dummy_num_integer_regs and tdep->call_dummy_integer_regs. Set tdep->classify. * amd64-windows-tdep.c: Add include of gdbtypes.h. (amd64_windows_dummy_call_integer_regs): New static global. (amd64_windows_classify): New function. (amd64_windows_init_abi): Initialize tdep->call_dummy_num_integer_regs tdep->call_dummy_integer_regs and tdep->classify. 2010-01-28 Daniel Jacobowitz * regcache.c (regcache_xmalloc): Add aspace argument. Use it for the new regcache. All callers updated. (regcache_cpy, regcache_cpy_no_passthrough): Do not set aspace here. (get_thread_arch_regcache): Do not set aspace here. * regcache.h (regcache_xmalloc): Update declaration. * frame.c, infcall.c, ppc-linux-tdep.c: Calls to regcache_xmalloc updated. 2010-01-28 Joel Brobecker Another -Wunused-function error in procfs.c (sparc-solaris) * procfs.c (insert_dbx_link_breakpoint): Delete declaration. Move up. Only define if SYS_syssgi is defined. (remove_dbx_link_breakpoint): Delete declaration. Move up. (dbx_link_addr, insert_dbx_link_bpt_in_file) (insert_dbx_link_bpt_in_region): Move up. Only define if SYS_syssgi is itself defined. 2010-01-27 Christopher Faylor * windows-nat.c (windows_initialization_done): New variable. (get_windows_debug_event): Issue error when process dies before completely initializing. (do_initial_windows_stuff): Set flag to indicate when we are done with the initial steps of attaching to the child. 2010-01-27 Jan Kratochvil * symtab.h (struct symbol ): New comment on NULL values. 2010-01-27 Doug Evans * solib-svr4.c (solib_break_names): Add __dl_rtld_db_dlactivity. * breakpoint.c (bpstat_stop_status): Delete useless code. 2010-01-27 Jan Kratochvil * printcmd.c (display_uses_solib_p): Remove variable section. Access objfile via SYMBOL_SYMTAB. 2010-01-26 Tom Tromey PR exp/7643: * eval.c (evaluate_subexp_for_address) : Call coerce_array on result. 2010-01-26 Sami Wagiaalla * cp-namespace.c (cp_lookup_symbol_namespace): Added search_parent argument. (cp_add_using): Initialize 'searched' field. (reset_directive_searched): New function. * cp-support.h: Add 'searched' field to using_direct struct. (cp_lookup_symbol_imports): Ditto. * cp-namespace.c (cp_lookup_symbol_imports): Ditto. Perform recursive search. Implement non parent search. * valops.c (value_maybe_namespace_elt): Updated. 2010-01-26 Sami Wagiaalla PR gdb/10929: * dwarf2read.c (read_lexical_block_scope): Create blocks for scopes which contain using directives even if they contain no declarations. * symtab.c (lookup_symbol_aux): Pass lowest level block to la_lookup_symbol_nonlocal. * cp-namespace.c (cp_lookup_symbol_nonlocal): call cp_lookup_symbol_namespace. (cp_lookup_symbol_namespace): Perform an import lookup at every block level. (cp_lookup_symbol_imports): New function. (cp_lookup_symbol_in_namespace): New function. 2010-01-25 Tom Tromey PR gdb/11049: * c-valprint.c (c_val_print): Fix test of extract_unsigned_integer result. 2010-01-25 Rainer Orth * configure.ac: Only use host_os part when disabling TUI on osf. Use test to check variables, prefix strings with x. * configure: Regenerate. * solib-osf.c (osf_current_sos): Initialize tail. 2010-01-25 gingold * windows-nat.c (windows_continue): Use %x to print thread id. (get_windows_debug_event): Ditto. 2010-01-22 Tom Tromey PR symtab/11199: * dwarf2read.c (quirk_gcc_member_function_pointer): Change return type and arguments. Use smash_to_methodptr_type. (read_structure_type): Call quirk_gcc_member_function_pointer later. * gdbtypes.h (smash_to_methodptr_type): Declare. * gdbtypes.c (smash_to_methodptr_type): New function. (lookup_methodptr_type): Use it. 2010-01-21 Tom Tromey PR symtab/11198: * symtab.h (lookup_minimal_symbol_and_objfile): Declare. * minsyms.c (lookup_minimal_symbol_and_objfile): New function. * glibc-tdep.c (find_minsym_and_objfile): Remove. (glibc_skip_solib_resolver): Use lookup_minimal_symbol_and_objfile. 2010-01-21 Kai Tietz * inflow.c (check_syscall): Guard by #if clause for GO32 and WIN32 targets. 2010-01-20 Tom Tromey PR backtrace/10770: * valarith.c (value_binop): Handle BINOP_GTR, BINOP_LEQ, and BINOP_GEQ. Handle BINOP_NOTEQUAL in the signed case. * dwarf2expr.c (new_dwarf_expr_context): Allocate dwarf_stack_values, not CORE_ADDRs. (execute_stack_op): Change DW_OP_div and comparison operators to use signed operands. 2010-01-20 Vladimir Prus Per-inferior args and tty and environment. * infcmd.c (inferior_args): Rename to ... (inferior_args_scratch): ... this. (inferior_io_terminal): Rename to ... (inferior_io_terminal_scratch): ... this. (inferior_argc, inferior_argv): Remove. (set_inferior_io_terminal, get_inferior_io_terminal): Store inside current_inferior(). (set_inferior_tty_command, show_inferior_tty_command): New. (get_inferior_args, set_inferior_args): Store inside current_inferior(). (notice_args_set): Likewise and rename to... (set_args_command): ... this. (set_inferior_args_vector): Likewise. (notice_args_read): Rename to... (show_args_command): ...new. (tty_command): Remove. (run_command_1): Don't free old args, as they are freed by set_inferior_arg now. (run_no_args_command): Likewise. (inferior_environ): Remove. (run_command_1): Use environment of the current inferior. (environment_info, set_environment_command) (unset_environment_command, path_info, path_command): Likewise. (_initialize_infcmd): Adjust for function and variable renames. Do not init inferior_environ. * inferior.h (set_inferior_arg): Adjust prototype. (struct inferior): New fields args, argc, argv, terminal, environment. (inferior_environ): Remove declaration. * inferior.c (free_inferior): Free new fields. (add_inferior_silent): Initialize 'environment' field. * main.c (captured_main): Set arguments only after the initial inferior has been created. Set set_inferior_io_terminal, not tty_command. * mi/mi-main.c (mi_cmd_env_path): Use environment of the current inferior. (_initialize_mi_cmd_env): Adjust for disappearance of global inferior_environ. * solib.c (solib_find): Use environment of the current inferior. 2010-01-20 Jan Kratochvil * varobj.c (varobj_add_child, install_dynamic_child): Wrap into #if HAVE_PYTHON. (instantiate_pretty_printer): Move HAVE_PYTHON outside of the function. 2010-01-20 Joel Brobecker Get rid of ada-lang.c:function_name_from_pc. * ada-lang.c: Add "stack.h" #include. (function_name_from_pc): Delete. (is_known_support_routine): Replace call to function_name_from_pc by call to find_frame_funname. (ada_unhandled_exception_name_addr_from_raise): Likewise. 2010-01-19 Tom Tromey PR c++/11026: * dwarf2read.c (read_partial_die): Allocate partial DIE's name on objfile obstack. 2010-01-19 Tom Tromey * top.c (stop_sig, float_handler, do_nothing): Remove. 2010-01-19 Jan Kratochvil * breakpoint.c (watchpoint_check): Check the call gdbarch_in_function_epilogue_p before calling frame_find_by_id. Extend the comment. * config/djgpp/fnchange.lst: Add translations for watchpoint-cond-gone.exp, watchpoint-cond-gone.c and watchpoint-cond-gone-stripped.c. 2010-01-19 Tom Tromey PR c++/8000: * dwarf2read.c (partial_die_parent_scope): Put enumeration type into parent scope, and enumerator into grandparent scope. 2010-01-19 Joel Brobecker * NEWS: Add entry for "set/show ada trust-PAD-over-XVS" commands. 2010-01-19 Joel Brobecker * configure.host: Make x86_64-*-solaris2.1[0-9]* an alias of i[34567]86-*-solaris2.1[0-9]*. * configure.tgt: Likewise. 2010-01-19 Joel Brobecker * NEWS: Document the source command enhancement allowing it to load Python scripts. Document the "set/show script-extension" commands. 2010-01-19 Joel Brobecker Add -Wunused-function to compile flags. * configure.ac: Add -Wunused-function to build_warnings. * configure: Regenerate. 2010-01-19 Joel Brobecker "delete" ada-lex.c:input function, not used. * ada-lex.l: #define YY_NO_INPUT. 2010-01-19 Joel Brobecker Delete free_named_symtabs and associated cleanup. * symfile.h (free_named_symtabs): Delete declaration. * symfile.c: Remove some commented out code (clear_symtab_users_once). (cashier_psymtab): Comment function out. Delete declaration. (free_named_symtabs): Delete. * coffread.c (coff_end_symtab): Remove call to free_named_symtabs. * dbxread.c (end_psymtab): Likewise. * dwarf2read.c (process_psymtab_comp_unit): Ditto. * exec.c (exec_close_1): Ditto. * xcoffread.c (xcoff_end_psymtab): Likewise. 2010-01-19 Joel Brobecker * stack.c (print_block_frame_labels): Comment function out. 2010-01-19 Joel Brobecker Delete unused or undefined functions. * breakpoint.c (ep_parse_optional_filename): Delete. * dcache.c (dcache_write_line): Remove declaration. * infrun.c (build_infrun): Remove declaration. * tracepoint.c (tracepoint_save_command): Remove declaration. * linux-nat.c (init_lwp_list): Delete. No longer used. * event-loop.c (check_async_signal_handlers): Delete declaration. * infrun.c (init_execution_control_state): Delete. (proceed): Update comment to avoid mentioning init_execution_control_state. * target.c (kill_or_be_killed, nosupport_runtime): Delete. * ada-lang.c (ada_to_static_fixed_value): Delete. * scm-lang.c (evaluate_subexp_scm): Delete declaration. * cp-namespace.c (cp_copy_usings): Delete. * xml-syscall.c (xml_number_of_syscalls): Delete. * progspace.c (find_program_space_by_num): Delete. * inflow.c (handle_sigio): Delete declaration. * hppa-tdep.c (hppa_alignof): Delete. * mipsnbsd-tdep.c (mipsnbsd_sigtramp_offset) (mipsnbsd_core_osabi_sniffer): Delete. 2010-01-18 Tom Tromey PR c++/9680: * c-exp.y (REINTERPRET_CAST, DYNAMIC_CAST, STATIC_CAST) (CONST_CAST): New tokens. (exp): Add new productions. (ident_tokens): Add const_cast, dynamic_cast, static_cast, and reinterpret_cast. (is_cast_operator): New function. (yylex): Handle cast operators specially. * eval.c (evaluate_subexp_standard) : New cases. * expprint.c (print_subexp_standard): Likewise. (op_name_standard): Likewise. (dump_subexp_body_standard): Likewise. * parse.c (operator_length_standard): Likewise. * expression.h (enum exp_opcode): New constants UNOP_DYNAMIC_CAST, UNOP_REINTERPRET_CAST. * gdbtypes.c (class_types_same_p): New function. (is_ancestor): Use it. (is_public_ancestor): New function. (is_unique_ancestor_worker): Likewise. (is_unique_ancestor): Likewise. * gdbtypes.h (class_types_same_p, is_public_ancestor) (is_unique_ancestor): Declare. * valops.c (value_reinterpret_cast): New function. (dynamic_cast_check_1): Likewise. (dynamic_cast_check_2): Likewise. (value_dynamic_cast): Likewise. * value.h (value_reinterpret_cast, value_dynamic_cast): Declare. 2010-01-18 Joel Brobecker Fix build failure when building without Python support. * python/python.c: Always include exceptions.h, even when HAVE_PYTHON is not defined. 2010-01-18 Joel Brobecker Use XVS field type instead of doing a parallel lookup. * ada-lang.c (ada_get_base_type): Follow the XVS field type if it is a reference type instead of doing a type lookup using the XVS field name. 2010-01-18 Joel Brobecker Trust PAD types instead of using PAD___XVS. * ada-lang.c (trust_pad_over_xvs): New static variable. (ada_is_aligner_type): If !trust_pad_over_xvs and there is a parallel XVS type, follow the XVS type instead of the PAD type. (unwrap_value): Make sure that there is no parallel XVE type before returning the value as is. (set_ada_list, show_ada_list): New static variables. (set_ada_command, show_ada_command): New functions. (_initialize_ada_language): Add new "set/show ada" prefix commands. Add new "set/show ada trust-PAD-over-XVS" setting. 2010-01-18 Tom Tromey Thiago Jung Bauermann Allow "source" to load python scripts. * exceptions.h (enum errors): Add UNSUPPORTED_ERROR. * python/python.c (source_python_script): New function. * python/python.h (source_python_script): Add declaration. * cli/cli-cmds.c: #include exceptions.h and python/python.h. (script_ext_off, script_ext_soft, script_ext_strict) (script_ext_enums, script_ext_mode): New static constants. (show_script_ext_mode, find_and_open_script): New functions. (source_script): Enhance to handle Python scripts. (init_cli_cmds): Add set/show script-extension commands. 2010-01-16 Stan Shebs * tracepoint.h (struct trace_status): Use unsigned long long instead of size_t. * tracepoint.c (trace_status_command): Fix printf directive. (trace_save_command): Check fwrite returns, fix printf directive. (trace_filename): New global. (tfile_open): Set it, check read returns. (tfile_close): Free trace_filename. (tfile_get_traceframe_address): Check read returns. (tfile_trace_find): Ditto. (tfile_fetch_registers): Ditto. (tfile_xfer_partial): Ditto. (tfile_get_trace_state_variable_value): Ditto. 2010-01-15 Stan Shebs Add trace file support. * tracepoint.h (enum trace_stop_reason): New enum. (struct trace_status): New struct. (parse_trace_status): Declare. (struct uploaded_tp): Move here from remote.c, add fields for actions. (struct uploaded_tsv): New struct. * tracepoint.c (tfile_ops): New target vector. (trace_fd): New global. (tfile_open): New function. (tfile_close): New function. (tfile_files_info): New function. (tfile_get_trace_status): New function. (tfile_get_traceframe_address): New function. (tfile_trace_find): New function. (tfile_fetch_registers): New function. (tfile_xfer_partial): New function. (tfile_get_trace_state_variable_value): New function. (init_tfile_ops): New function. (_initialize_tracepoint): Call it, add tfile target. (trace_status): New global. (current_trace_status): New function. (trace_running_p): Remove, change all users to get from current_trace_status()->running. (get_trace_status): Remove. (trace_status_command): Call target_get_trace_status directly, report more detail including tracing stop reasons. (trace_find_command): Always allow tfind on a file. (trace_find_pc_command): Ditto. (trace_find_tracepoint_command): Ditto. (trace_find_line_command): Ditto. (trace_find_range_command): Ditto. (trace_find_outside_command): Ditto. (trace_frames_offset, cur_offset): Declare as off_t. (trace_regblock_size): Rename from reg_size, update users. (parse_trace_status): New function. (tfile_interp_line): New function. (disconnect_or_stop_tracing): Ensure current trace status before asking what to do. (stop_reason_names): New global. (trace_save_command): New command. (get_uploaded_tp): Move here from remote.c. (find_matching_tracepoint): Ditto. (merge_uploaded_tracepoints): New function. (parse_trace_status): Use stop_reason_names. (_initialize_tracepoint): Define tsave command. * target.h (target_ops): New fields to_save_trace_data, to_upload_tracepoints, to_upload_trace_state_variables, to_get_raw_trace_data, change to_get_trace_status to take a pointer to a status struct. (target_save_trace_data): New macro. (target_upload_tracepoints): New macro. (target_upload_trace_state_variables): New macro. (target_get_raw_trace_data): New macro. * target.c (update_current_target): Add new methods, change signature of to_get_trace_status. * remote.c (hex2bin): Make globally visible. (bin2hex): Ditto. (remote_download_trace_state_variable): Download name also. (remote_get_trace_status): Update parameter, use parse_trace_status. (remote_save_trace_data): New function. (remote_upload_tracepoints): New function. (remote_upload_trace_state_variables): New function. (remote_get_raw_trace_data): New function. (remote_start_remote): Use them. (_initialize_remote_ops): Add operations. * ax-gdb.c: Include breakpoint.h. * breakpoint.c (create_tracepoint_from_upload): Use break_command_really, return tracepoint, warn about unimplemented parts. * NEWS: Mention trace file addition. 2010-01-15 Jan Kratochvil Fix compilation warning on gcc-3.4. * exec.c (print_section_info): Move the `displacement' variable initialization to its declaration. 2010-01-15 Jan Kratochvil * gdb-gdb.py (StructMainTypePrettyPrinter): Fix TYPE_CODE_RANGE comparison. 2010-01-15 Eric Botcazou "info tasks" broken by typedefs in ATCB type definitions. * ada-lang.c (ada_template_to_fixed_record_type_1): Add call to ada_check_typedef before retrieving the length of the type for regular fields. 2010-01-15 Joel Brobecker Do not use name-based lookup for unconstrained packed arrays. * ada-lang.c (find_parallel_type_by_descriptive_type): Limit the fallback to name-based lookups to the case where the type is a constrained packed array. 2010-01-15 Joel Brobecker Enhance gdb-gdb.py to handle main_type.type_specific. * gdb-gdb.py: Print the type-specific part of struct main_type. 2010-01-15 Jan Kratochvil * configure.ac (AC_CHECK_FUNCS): Check for setrlimit and getrlimit. * configure: Regenerate. * config.in: Regenerate. * utils.c: Include sys/resource.h. (dump_core, can_dump_core): New. (internal_vproblem): Update the comment. Check can_dump_core while setting dump_core_p. Replace two abort calls by dump_core calls. 2010-01-14 Jan Kratochvil Eli Zaretskii * NEWS: Document the PIE support. 2010-01-14 Jan Kratochvil * linux-tdep.c: Remove includes gdbcore.h, observer.h and elf-bfd.h. (check_is_pie_binary, _initialize_linux_tdep): Remove. 2010-01-14 Jan Kratochvil * solib-svr4.c (svr4_exec_displacement): New comment for entry_point. Replace exec_entry_point call by bfd_get_start_address. 2010-01-14 Jan Kratochvil Support Valgrind attachments broken by the PIE support. * auxv.c: Include gdbcore.h. (procfs_xfer_auxv): Make static. Reduce its comment. Drop its parameters ops, object and annex. Remove their assertions. (ld_so_xfer_auxv, memory_xfer_auxv): New function. * auxv.h (procfs_xfer_auxv): Remove comment. Rename to ... (memory_xfer_auxv): ... here. * linux-nat.c (linux_xfer_partial): Rename procfs_xfer_auxv to memory_xfer_auxv. * procfs.c (procfs_xfer_partial): Likewise. * solib-svr4.c (svr4_relocate_main_executable): New prototype. (svr4_special_symbol_handling): Call svr4_relocate_main_executable. (svr4_solib_create_inferior_hook): Conditionalize the svr4_relocate_main_executable call. 2010-01-14 Jan Kratochvil * solib-svr4.c (scan_dyntag): Remove variable dyn_addr. New variable target_section. Find SECT in current_target_sections, gdb_assert it. (elf_lookup_lib_symbol): Pass the binary file if given symfile_objfile. New variable abfd. * symtab.c (lookup_objfile_from_block): Return the binary file instead of separate debug info file. 2010-01-14 Jan Kratochvil Support PIEs with no symfile_objfile. * exec.c (print_section_info ): Relocate Entry point. * solib-svr4.c (svr4_relocate_main_executable ): New block. 2010-01-14 Jan Kratochvil * solib-svr4.c (svr4_relocate_main_executable): Move the static exec code part to ... (svr4_static_exec_displacement): ... a new function. (svr4_exec_displacement): New function. (svr4_relocate_main_executable): Call svr4_exec_displacement. Allocate new_offsets using alloca now. Remove variable old_chain and changed. Call objfile_relocate unconditionally now. 2010-01-14 Doug Evans * gdbtypes.c (arch_flags_type): Fix comment. * gdbtypes.h (arch_composite_type): Fix comment. 2009-01-14 Tristan Gingold * machoread.c (macho_add_oso_symfile): Add symfile_flags parameter. Call xstrdup for abfd->filename. Pass symfile_flags and objfile flags to symbol_file_add_from_bfd. Add OSO as separate objfile. (macho_oso_symfile): Add symfile_flags parameter. Pass it to macho_add_oso_symfile. (macho_symfile_read): Pass symfile_flags to macho_oso_symfile. 2010-01-14 Joel Brobecker Tru64: Dead threads are never deleted. * dec-thread.c (dec_thread_ptid_is_alive): New function. (dec_thread_count_gdb_threads): Fix counter increment. (dec_thread_add_gdb_thread): Fix *listp increment. (resync_thread_list): Fix bug in deletion of dead threads that caused all threads to be deleted, instead of just the dead ones. 2010-01-13 Phil Muldoon PR python/10705 * python/python-internal.h: Add lazy_string_object_type definition. (create_lazy_string_object, gdbpy_initialize_lazy_string) (gdbpy_is_lazystring, gdbpy_extract_lazy_string): Define. * python/py-value.c (valpy_lazy_string): New function. (convert_value_from_python): Add lazy string conversion. * python/py-prettyprint.c (pretty_print_one_value): Check if return is also a lazy string. (print_string_repr): Add lazy string printing branch. (print_children): Likewise. * python/py-lazy-string.c: New file. Implement lazy strings. * python/python.c (_initialize_python): Call gdbpy_initialize_lazy_string. * varobj.c (value_get_print_value): Add lazy string printing branch. Account for encoding. * c-lang.c (c_printstr): Account for new encoding argument. If encoding is NULL, find encoding suited for type, otherwise use user encoding. * language.h (language_defn): Add encoding argument. (LA_PRINT_STRING): Likewise. * language.c (unk_lang_printstr): Update to reflect new encoding argument to language_defn. * ada-lang.h (ada_printstr): Likewise. * c-lang.h (c_printstr): Likewise. * p-lang.h (pascal_printstr); * f-lang.c (f_printstr): Likewise. * m2-lang.c (m2_printstr): Likewise. * objc-lang.c (objc_printstr): Likewise. * p-lang.c (pascal_printstr): Likewise. * scm-lang.c (scm_printstr): Likewise. * c-valprint.c (c_val_print): Update LA_PRINT_STRING call for encoding argument. * ada-valprint.c (ada_printstr): Likewise. * f-valprint.c (f_val_print): Likewise * m2-valprint.c (m2_val_print): Likewise. * p-valprint.c (pascal_val_print): Likewise. * expprint.c (print_subexp_standard): Likewise. * valprint.c (val_print_string): Likewise. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-lazy-string. (SUBDIR_PYTHON_SRCS): Likewise. (py-lazy-string.o): New rule. 2010-01-13 Doug Evans * mi/mi-main.c (list_available_thread_groups): Avoid "may be used uninitialized" warning from gcc on local `tree'. 2010-01-13 Vladimir Prus Implement core awareness. * bcache.c (compare_ints): Remove (print_percentage): Use compare_positive_ints. * defs.h (compare_positive_ints): Declare. * linux-nat.h (struct lin_lwp): New field core. (linux_nat_core_of_thread_1): Declare. * linux-nat.c (add_lwp): Init the 'core' field. (linux_nat_wait_1): Record the core. (linux_nat_core_of_thread_1, linux_nat_core_of_thread): New. (linux_nat_add_target): Register the above. * linux-thread-db.c (update_thread_core): New. (thread_db_find_new_threads): Update core information for every thread. * remote.c (struct private_thread_info): New. (free_private_thread_info, demand_private_info): New. (PACKET_qXfer_threads, use_osdata_threads): New. (struct thread_item, threads_parsing_context (start_thread, end_thread, thread_attributes) (thread_children, threads_children, threads_elements): New. (remote_threads_info): Try qXfer:threads before anything else. (remote_protocol_packets): Register qXfer:threads. (remote_open_1): Init use_osdata_threads. (struct stop_reply): New field 'core'. (remote_parse_stop_reply): Parse core number. (process_stop_reply): Record core number. (remote_xfer_partial): Handle qXfer:threads. (remote_core_of_thread): New. (init_remote_ops): Register remote_core_of_thread. (_initialize_remote): Register qXfer:read. * target.c (target_core_of_thread): New * target.h (enum target_object): New value TARGET_OBJECT_THREADS. (struct target_ops): New field to_core_of_threads. (target_core_of_thread): Declare. * gdbthread.h (struct thread_info): New field private_dtor. * thread.c (print_thread_info): Report the core. * ui-out.c (MAX_UI_OUT_LEVELS): Increase. * utils.c (compare_positive_ints): New. * features/threads.dtd: New. * mi/mi-interp.c (mi_on_normal_stop): Report the core. * mi/mi-main.c (struct collect_cores_data, collect_cores) (do_nothing, free_vector_of_osdata_items) (splay_tree_int_comparator, free_splay_tree): New. (print_one_inferior_data): Implemented printing of selected inferiors. Collect and print cores. (output_cores): New. (mi_cmd_list_thread_groups): Support --recurse. Permit specifying thread groups together with --available. 2010-01-12 Jan Kratochvil * configure: Regenerate (for _STRUCTURED_PROC). 2010-01-12 Joel Brobecker Delete dead function. * ada-lang.c (extract_string): Delete. No longer used. 2010-01-12 Joel Brobecker Fix -Wunused warning in dec-thread.c. * dec-thread.c (dec_thread_count_gdb_threads) (dec_thread_add_gdb_thread): Prevent -Wunused warning. 2010-01-12 Joel Brobecker * ada-valprint.c (ada_print_floating): Remove trailing space. 2010-01-12 Joel Brobecker Add support for DW_AT_GNAT_descriptive_type. * gdbtypes.h (enum type_specific_kind): New enum. (struct main_type) [type_specific_field]: New component. [type_specific]: Add new component "gnat_stuff". (struct gnat_aux_type): New type. (INIT_CPLUS_SPECIFIC): Also set TYPE_SPECIFIC_FIELD (type). (HAVE_CPLUS_STRUCT): Also check TYPE_SPECIFIC_FIELD (type). (gnat_aux_default, allocate_gnat_aux_type): Add declaration. (INIT_GNAT_SPECIFIC, ALLOCATE_GNAT_AUX_TYPE, HAVE_GNAT_AUX_INFO) (TYPE_SPECIFIC_FIELD): New macros. (TYPE_CPLUS_SPECIFIC): Return cplus_struct_default if the given type does not hold any cplus-specific data. (TYPE_RAW_CPLUS_SPECIFIC): New macro. (TYPE_GNAT_SPECIFIC, TYPE_DESCRIPTIVE_TYPE): New macros. (TYPE_IS_OPAQUE): Use HAVE_CPLUS_STRUCT to check if type has cplus-specific data. * gdbtypes.c (allocate_cplus_struct_type): Minor stylistic rewrite. Set new component TYPE_SPECIFIC_FIELD (type). (gnat_aux_default): New constant. (allocate_gnat_aux_type): New function. (init_type): Add initialization the type-specific stuff for TYPE_CODE_FLT and TYPE_CODE_FUNC types. (print_gnat_stuff): New function. (recursive_dump_type): Use HAVE_CPLUS_STRUCT to check for cplus- specific data. Adjust code that prints the contents of the type-specific union using the TYPE_SPECIFIC_FIELD value. * dwarf2read.c (dwarf2_attach_fields_to_type): Do not allocate the type cplus stuff for Ada types. (dwarf2_add_member_fn, dwarf2_attach_fn_fields_to_type): Error out if these routines are called with an Ada type. (read_structure_type, read_array_type, read_subrange_type): Add call to set_descriptive_type. (set_die_type): Initialize the gnat-specific data if necessary. (need_gnat_info, die_descriptive_type, set_descriptive_type): New functions. * ada-lang.c (decode_constrained_packed_array_type): Use decode_constrained_packed_array_type instead of doing a standard lookup to locate a parallel type. (find_parallel_type_by_descriptive_type): New function. (ada_find_parallel_type_with_name): New function. (ada_find_parallel_type): Reimplement using ada_find_parallel_type_with_name. * ada-valprint.c (print_field_values): Use HAVE_CPLUS_STRUCT to check if type has a cplus stuff. * linespec.c (total_number_of_methods): Likewise. * mdebugread.c (new_type): Likewise. 2010-01-11 Jan Kratochvil * NEWS: Document the 0b binary number prefix parsing. 2010-01-11 Jan Kratochvil * objfiles.c (objfile_relocate1): Change the return type to int. Describe the new return value. Return non-zero if data changed. (objfile_relocate): New variable changed. Set it. Call breakpoint_re_set depending on CHANGED. 2010-01-11 Jan Kratochvil Implement binary numbers parsing. * c-exp.y (parse_number): New case 'b' and 'B'. 2010-01-11 Jan Kratochvil Tristan Gingold * solib.c (info_sharedlibrary_command): Replace objfile_has_partial_symbols and objfile_has_full_symbols calls by objfile_has_symbols. 2010-01-10 Joel Brobecker * NEWS: Document the improvements made to the mips-irix port. 2010-01-09 Joel Brobecker Fix the documentation of valprint.c:value_print. * valprint.c (value_print): Update the function description to mention that the syntax of the output follows the current_language, not necessarily C. 2010-01-09 Jan Kratochvil Fix displacement of separate debug info files. * objfiles.c (objfile_relocate): Rename to ... (objfile_relocate1): ... here and make it static. Extend the comment. (objfile_relocate): New function. * solib-spu.c (spu_relocate_main_executable): Explicitly check if SYMFILE_OBJFILE is NULL. Remove variables objfile and old_chain. Remove following of SEPARATE_DEBUG_OBJFILE. new_offsets is now allocated using alloca. * symfile.c (copy_section_addr_info): Remove. (build_section_addr_info_from_objfile): Make it global. New variables addr_bit and mask, use them. * symfile.h (build_section_addr_info_from_objfile): New prototype. (copy_section_addr_info): Remove. 2010-01-09 Joel Brobecker Signal unwinder for mips-irix N32. * mips-irix-tdep.c: #include mips-tdep.h, trad-frame.h, and tramp-frame.h. (SIGTRAMP_FRAME_SIZE, SIGCONTEXT_PC_OFF, SIGCONTEXT_REGS_OFF) (SIGCONTEXT_FPREGS_OFF, SIGCONTEXT_FPCSR_OFF, SIGCONTEXT_HI_OFF) (SIGCONTEXT_LO_OFF): New macros. (mips_irix_n32_tramp_frame_init): New function. (mips_irix_n32_tramp_frame): New static constant. (mips_irix_init_abi): Prepend the mips_irix_n32_tramp_frame unwinder. 2010-01-09 Joel Brobecker Breakpoint in shared library does not work on mips-irix. * procfs.c: #include "observer.h". (procfs_inferior_created): New function, moving here the code which unsets the syssgi syscall-exit notifications. (procfs_create_inferior): Remove the code which unsets the syssgi syscall-exit notifications. It is too early to do this here. (_initialize_procfs): Attach the procfs_inferior_created observer. 2010-01-09 Joel Brobecker Wrong return convention for arrays (mips-irix). * mips-tdep.c (mips_n32n64_return_value): Arrays whose size is 128 bits or smaller are returned the same way as structs and unions of the the same size. 2010-01-09 Joel Brobecker Cannot set the PC on mips-irix. * irix5-nat.c (fill_gregset): Check regno against the raw PC register number, no the cooked one. 2010-01-09 Joel Brobecker Error while loading core file on mips-irix. * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if debugging from a core file. 2010-01-09 Joel Brobecker GDB hangs when attaching to process on mips-irix. * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if attaching to a process. 2010-01-09 Joel Brobecker Use the correct breakpoint instruction on mips-irix. * mips-tdep.c (mips_breakpoint_from_pc): Add new static variable containing the correct breakpoint instruction to use on mips-irix. Use it when the osabi is GDB_OSABI_IRIX. 2010-01-09 Joel Brobecker -Wunused warning in procfs.c (mips-irix only). * procfs.c (gdb_praddset, gdb_prdelset): New macros. Use them throughout instead of using praddset and prdelset respectively. 2010-01-09 Joel Brobecker GDB crash while stepping into function. * infrun.c (handle_inferior_event): Refetch the current frame after handling what.main_action, in case that pointer became dangling. 2010-01-09 Joel Brobecker Fix build failure of solaris-hosted cross debuggers. * ada-valprint.c, parse.c: Include defs.h before including ctype.h. 2010-01-09 Daniel Gutson Fix build failure on sparc-solaris. * procfs.c: (procfs_do_thread_registers) Use elfcore_write_lwpstatus. 2010-01-08 Jan Kratochvil Move some symfile code into subroutines. * symfile.h (relative_addr_info_to_section_offsets) (addr_info_make_relative): New prototypes. * symfile.c (default_symfile_offsets): Move a part to ... (relative_addr_info_to_section_offsets): ... this new function. (default_symfile_offsets): Call it. (syms_from_objfile other[0].name>): Move this part to ... (addr_info_make_relative): ... this new function. 2010-01-08 Jan Kratochvil Add from_tty to solib_create_inferior_hook. * infcmd.c (post_create_inferior): Move solib_add after solib_create_inferior_hook. Pass from_tty to solib_create_inferior_hook. Call solib_add and SOLIB_ADD with 0 from_tty and comment why. * infrun.c (follow_exec): Pass from_tty solib_create_inferior_hook as 0. * linux-nat.c (linux_child_follow_fork): Likewise. * nto-procfs.c (procfs_post_attach, procfs_create_inferior): Likewise. * solib-darwin.c (darwin_solib_create_inferior_hook): New parameter from_tty. * solib-frv.c (frv_solib_create_inferior_hook): Likewise. * solib-irix.c (irix_solib_create_inferior_hook): Likewise. * solib-null.c (null_solib_create_inferior_hook): Likewise. * solib-osf.c (osf_solib_create_inferior_hook): Likewise. * solib-pa64.c (pa64_solib_create_inferior_hook): Likewise. * solib-som.c (som_solib_create_inferior_hook): Likewise. * solib-spu.c (spu_solib_create_inferior_hook): New parameter from_tty. Pass it to svr4_so_ops.solib_create_inferior_hook. * solib-sunos.c (sunos_solib_create_inferior_hook): New parameter from_tty. * solib-svr4.c (enable_break): New parameter from_tty. Pass it to solib_add. (svr4_solib_create_inferior_hook): New parameter from_tty. Pass it to enable_break. * solib-target.c (solib_target_solib_create_inferior_hook): New parameter from_tty. * solib.c (solib_create_inferior_hook): New parameter from_tty. Pass it to ops->solib_create_inferior_hook. (reload_shared_libraries): Pass from_tty to solib_create_inferior_hook. Move solib_add after solib_create_inferior_hook, call it now with from_tty as 0. New comment there. * solib.h (solib_create_inferior_hook): New parameter from_tty. * solist.h (struct target_so_ops ): Likewise. 2010-01-08 Vladimir Prus Fix multiexec race. * infrun.c (handle_inferior_event): Use get_thread_regcache with events ptid, not get_current_regcache. 2009-01-08 Joel Brobecker GDB crash with empty executable name (MinGW). * source.c (openp): Add assert that parameter string is not NULL. if parameter string is an empty string, then return with a failure immediately. 2009-01-08 Joel Brobecker Get rid of support for VAX Floats. * ada-lang.h (ada_is_vax_floating_type, ada_vax_float_type_suffix) (ada_vax_float_print_function): Delete. * ada-lang.c (ada_is_vax_floating_type, ada_vax_float_type_suffix) (ada_vax_float_print_function): Delete. * ada-typeprint.c (print_vax_floating_point_type): Delete. (ada_print_type): Remove support for VAX floats. * ada-valprint.c (ada_val_print_1): Remove support for VAX floats. 2010-01-08 Jan Kratochvil * stabsread.c (read_args): Handle zero arguments. 2009-01-08 Joel Brobecker Cannot find in-tree libiconv.a after reconfigure. * acinclude.m4 (AM_ICONV): If we find an in-tree libiconv.a that we can use, then cache the path to this archive. * configure: Regenerate. 2010-01-07 Stan Shebs Make tracepoint operations go through target vector. * target.h (enum trace_find_type): New enum. (struct target_ops): New fields to_trace_init, to_download_tracepoint, to_download_trace_state_variable, to_trace_set_readonly_regions, to_trace_start, to_get_trace_status, to_trace_stop, to_trace_find, to_get_trace_state_variable_value, to_set_disconnected_tracing. (target_trace_init): New macro. (target_download_tracepoint): New macro. (target_download_trace_state_variable): New macro. (target_trace_start): New macro. (target_trace_set_readonly_regions): New macro. (target_get_trace_status): New macro. (target_trace_stop): New macro. (target_trace_find): New macro. (target_get_trace_state_variable_value): New macro. (target_set_disconnected_tracing): New macro. * target.c (update_current_target): Inherit and set defaults for tracepoint operations. * tracepoint.c (default_collect): Make globally visible. (target_is_remote): Remove, along with all calls. (tvariables_info): Call target_get_trace_state_variable_value. (remote_set_transparent_ranges): Remove. (trace_start_command): Call target_trace_init, target_download_tracepoint, etc. (download_tracepoint): Remove. (trace_stop_command): Simplify. (stop_tracing): Call target_trace_stop. (get_trace_status): Call target_get_trace_status. (trace_status_command): Add case for targets that cannot trace. (finish_tfind_command): Change to take numerical arguments, call target_trace_find. (trace_find_command): Update call to finish_tfind_command. (trace_find_pc_command): Ditto. (trace_find_tracepoint_command): Ditto. (trace_find_line_command): Ditto. (trace_find_range_command): Ditto. (trace_find_outside_command): Ditto. (set_disconnected_tracing_value): Call target_set_disconnected_tracing. * remote.c: Add protocol encoding bits from tracepoint.c. (trace_error): Move from tracepoint.c. (remote_get_noisy_reply): Ditto. (free_actions_list_cleanup_wrapper): Ditto. (free_actions_list): Ditto. (remote_trace_init): New function. (remote_download_tracepoint): New function. (remote_download_trace_state_variable): New function. (remote_trace_set_readonly_regions): New function. (remote_trace_start): New function. (remote_get_trace_status): New function. (remote_trace_stop): New function. (remote_trace_find): New function. (remote_download_trace_state_variable): New function. (remote_set_disconnected_tracing): New function. (init_remote_ops): Add tracepoint operations. * tracepoint.c (trace_dump_command): Don't decr_pc_after_break. 2010-01-07 Tristan Gingold * symfile.c (build_section_addr_info_from_objfile): New function. (symbol_file_add_separate): Don't use offsets from objfile but built an addr info. 2010-01-06 Stan Shebs Support disconnected tracing. * infcmd.c (detach_command): Ask whether to stop tracing. * cli/cli-cmds.c (quit_command): Ditto. * breakpoint.h (struct breakpoint): New field number_on_target. * breakpoint.c (create_tracepoint_from_upload): New function. (get_tracepoint_by_number_on_target): New function. * remote.c (struct remote): New field disconnected_tracing. (remote_disconnected_tracing_feature): New function. (remote_protocol_features): Add DisconnectedTracing. (struct uploaded_tp): New struct. (uploaded_tps): New global. (get_uploaded_tp): New function. (find_matching_tracepoint): New function. (remote_get_tracing_state): New function. (remote_start_remote): Call it. * tracepoint.c (disconnected_tracing): New global. (trace_start_command): Initialize number_on_target. (stop_tracing): New function, split out from... (trace_stop_command): Call stop_tracing. (get_trace_status): New function, split out from... (trace_status_command): Call get_trace_status, add info on disconnection behavior. (disconnect_or_stop_tracing): New function. (finish_tfind_command): Translate from number on target. (trace_find_tracepoint_command): Translate to number on target. (send_disconnected_tracing_value): New function. (set_disconnected_tracing): New function. (_initialize_tracepoint): Add disconnected-tracing variable. * NEWS: Mention disconnected tracing. 2010-01-06 Tristan Gingold * symtab.c (lookup_global_symbol_from_objfile): Rename objfile parameter to main_objfile. Iterate on all separate debug objfiles. * symfile.h (symbol_file_add_separate) (find_separate_debug_file_by_debuglink): Remove parameter names. * symfile.c (symbol_file_add_separate): Use add_separate_objfile. (reread_symbols): Use free_objfile_separate_debug. * objfiles.h (struct objfile): Add separate_debug_objfile_link. Adjust comment. (objfile_separate_debug_iterate, add_separate_debug_objfile) (free_objfile_separate_debug): New prototypes. * objfiles.c (objfile_separate_debug_iterate): New function. (add_separate_debug_objfile, free_objfile_separate_debug): New functions. (free_objfile): Use free_objfile_separate_debug. Adjust for multiple separate debug objfile. (objfile_has_symbols): Adjust comment. Iterate on all separate debug objfiles. * minsyms.c (lookup_minimal_symbol): Adjust for multiple separate debug objfile. (lookup_minimal_symbol_text): Ditto. (lookup_minimal_symbol_by_pc_name): Ditto. (lookup_minimal_symbol_solib_trampoline): Ditto. (lookup_minimal_symbol_by_pc_section_1): Iterate on all separate debug objfiles. 2010-01-05 Stan Shebs Add fast tracepoints. * arch-utils.h (default_fast_tracepoint_valid_at): Declare. * arch-utils.c (default_fast_tracepoint_valid_at): New function. * breakpoint.h (enum bptype): Add bp_fast_tracepoint. * breakpoint.c (tracepoint_type): New function. (ALL_TRACEPOINTS): Use it. (should_be_inserted): Ditto. (bpstat_check_location): Ditto. (print_one_breakpoint_location): Ditto. (user_settable_breakpoint): Ditto. (set_breakpoint_location_function): Ditto. (disable_breakpoints_in_shlibs): Ditto. (delete_trace_command): Ditto. (print_it_typical): Add bp_fast_tracepoint case. (bpstat_what): Ditto. (print_one_breakpoint_location): Ditto. (allocate_bp_location): Ditto. (mention): Ditto. (breakpoint_re_set_one): Ditto. (disable_command): Ditto. (enable_command): Ditto. (check_fast_tracepoint_sals): New function. (break_command_really): Call it. (ftrace_command): New function. (_initialize_breakpoint): Add ftrace command. * gdbarch.sh (fast_tracepoint_valid_at): New. * gdbarch.h, gdbarch.c: Regenerate. * i386-tdep.c (i386_fast_tracepoint_valid_at): New function. (i386_gdbarch_init): Use it. * remote.c (struct remote_state): New field fast_tracepoints. (PACKET_FastTracepoints): New packet config type. (remote_fast_tracepoint_feature): New function. (remote_protocol_features): Add FastTracepoints. (remote_supports_fast_tracepoints): New function. (_initialize_remote): Add FastTracepoints. * tracepoint.c (download_tracepoint): Add fast tracepoint option. * NEWS: Mention fast tracepoints. 2010-01-06 Joel Brobecker * gdb-gdb.py: New file. 2010-01-05 Michael Snyder * infrun.c (handle_inferior_event): Fix typo in comment. 2010-01-05 Jan Kratochvil * symfile.c (syms_from_objfile): Remove the !MAINLINE conditional. 2010-01-04 Ulrich Weigand * features/Makefile (WHICH): Add s390-linux32, s390-linux64, and s390x-linux64. (s390-linux32-expedite): Define. (s390-linux64-expedite): Define. (s390x-linux64-expedite): Define. * features/s390-acr.xml: New file. * features/s390-fpr.xml: New file. * features/s390-core32.xml: New file. * features/s390-core64.xml: New file. * features/s390x-core64.xml: New file. * features/s390-linux32.xml: New file. * features/s390-linux64.xml: New file. * features/s390x-linux64.xml: New file. * features/s390-linux32.c: New generated file. * features/s390-linux64.c: New generated file. * features/s390x-linux64.c: New generated file. * regformats/s390-linux32.dat: New generated file. * regformats/s390-linux64.dat: New generated file. * regformats/s390x-linux64.dat: New generated file. * regformats/reg-s390.dat: Remove. * regformats/reg-s390x.dat: Remove. * s390-nat.c: Include "auxv.h" and . (HWCAP_S390_HIGH_GPRS): Define if undefined. (s390_target_wordsize): New function. (s390_auxv_parse): Likewise. (s390_get_hwcap): Likewise. (s390_read_description): Likewise. (_initialize_s390_nat): Install s390_auxv_parse and s390_read_description. * s390-tdep.c: Include "features/s390-linux32.c", "features/s390-linux64.c", and "features/s390x-linux64.c". (struct gdbarch_tdep): Add gpr_full_regnum, pc_regnum, and cc_regnum. (s390_register_call_saved): New function. (s390_register_name): Remove. (s390_register_type): Remove. (s390_dwarf_regmap): Add lower half GPR pseudo DWARF CFI regnums. (s390_dwarf_reg_to_regnum): Remap GPR regnums to full GPRs. (s390_adjust_frame_regnum): Remap GPR regnums to lower halves for CFI. (s390_pseudo_register_name): New function. (s390_pseudo_register_type): New function. (s390_pseudo_register_read): Handle both 32-bit and 64-bit cases. Handle full GPR pesudos and varying pseudo register numbers. (s390_pseudo_register_write): Likewise (s390x_pseudo_register_read): Remove. (s390x_pseudo_register_write): Likewise. (s390_register_group): Remove. (s390_pseudo_register_group): New function. (s390_regmap_gregset): Add GPR upper halves. (s390x_regmap_gregset): Likewise. (s390_regmap_fpregset): Likewise. (s390_regmap_upper): New global variable. (s390_upper_regset): New global variable. (s390_upper_regset_sections): New global variable. (s390_regset_from_core_section): Handle GPR upper halves. (s390_core_read_description): New function. (s390_prologue_frame_unwind_cache): Set up ABI call-saved/clobbered register information. Handle varying pseudo register numbers. (s390_backchain_frame_unwind_cache): Likewise. (s390_frame_prev_register): Unwind full GPRs to show lower halves. (s390_stub_frame_unwind_cache): Handle varying pseudo register numbers. (s390_sigtramp_frame_unwind_cache): Unwind PSWM and PSWA as well as PC and CC pseudos. Unwind upper halves and full GPRs as appropriate. Handle varying pseudo register numbers. (s390_unwind_pc): Handle varying pseudo register numbers. (s390_dwarf2_prev_register): New function. (s390_dwarf2_frame_init_reg): Set up ABI call-saved/clobbered register information. Handle varying pseudo register numbers. Install s390_dwarf2_prev_register to unwind full GPRs. (s390_gdbarch_init): Handle target descriptions. Assign varying pseudo register numbers. Install s390_adjust_frame_regnum. (_initialize_s390_tdep): Initialize target descriptions. * s390-tdep.h (S390_R0_UPPER_REGNUM .. S390_R15_UPPER_REGNUM): Define. (S390_NUM_REGS): Redefine to include upper half registers. (S390_PC_REGNUM, S390_CC_REGNUM): Remove. (S390_NUM_PSEUDO_REGS, S390_NUM_TOTAL_REGS): Likewise. (tdesc_s390_linux32): Add declaration. (tdesc_s390_linux64): Likewise. (tdesc_s390x_linux64): Likewise. 2010-01-04 Ulrich Weigand * regset.h (struct core_regset_section): Add HUMAN_NAME. * i386-linux-tdep.c (i386_linux_regset_sections): Fill in HUMAN_NAME. * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise. (ppc_linux_vmx_regset_sections): Likewise. (ppc_linux_fp_regset_sections): Likewise. * corelow.c (get_core_register_section): Constify arguments. (get_core_registers): Use gdbarch_core_regset_sections instead of hard-coded platform-specific register section names. 2010-01-04 Ulrich Weigand * dwarf2loc.c (read_pieced_value): If a piece occupies part of a register, assume the least-significant part is used. (write_pieced_value): Likewise. 2010-01-04 Ulrich Weigand * printcmd.c: Include "arch-utils.h". (do_one_display): Re-parse expression if current architecture changed. 2010-01-03 Jan Kratochvil Joel Brobecker * gdbtypes.c (check_typedef): New comment on type length. * value.c (allocate_value_lazy): Remove the unused atype variable. New comment on type length. (value_primitive_field): Keep the original TYPE value, new comment. 2010-01-01 Jan Kratochvil * cli/cli-script.c (process_next_line): Rename p1 as p_end and p2 as p_start. Change != comparisons to > and < comparisons. 2010-01-01 Jan Kratochvil * cli/cli-script.c (process_next_line): Check P2 overrun. 2009-01-01 Joel Brobecker Update the copyright hearder to add year 2010 for most GDB files. 2009-01-01 Joel Brobecker Fix build failure in inf-ptrace.c. * inf-ptrace.c (inf_ptrace_follow_fork): Fix typo. 2010-01-01 Joel Brobecker * top.c (print_gdb_version): Update copyright year. 2010-01-01 Joel Brobecker Fix break *FUN'address thread NUM. * ada-lex.l (task): Expand rule to also match the thread keyword. 2010-01-01 Joel Brobecker Fix break *FUN'address task NUM. * ada-lex.l (task): New rule. * ada-lang.c (valid_task_id): Make sure the Ada task list has been built before using it. For older changes see ChangeLog-2009. Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never coding: utf-8 End: