2010-03-25 Stan Shebs * tracepoint.h (trace_stop_reason): Add tracepoint_error. (struct trace_status): New field error_desc. * tracepoint.c (stop_reason_names): Add terror. (current_trace_status): Ensure non-NULL error description. (trace_status_command): Add error report. (trace_status_mi): Ditto. (trace_save): Add special case for error description. (parse_trace_status): Add case for errors. 2010-03-25 Keith Seitz * dwarf2read.c (read_subroutine_type): If the compilation unit language is Java, mark any formal parameter named "this" as artificial (GCC/43521). (dwarf2_name): Add special handling for Java constructors. 2010-03-25 Tom Tromey PR gdb/11327, PR gdb/11328, PR breakpoints/11368: * infrun.c (handle_inferior_event): Change initialization of stop_stack_dummy. (handle_inferior_event): Change assignment to stop_stack_dummy. (normal_stop): Update use of stop_stack_dummy. (struct inferior_status) : Change type. * inferior.h (stop_stack_dummy): Update. * infcmd.c (stop_stack_dummy): Change type. * infcall.c (cleanup_delete_std_terminate_breakpoint): New function. (call_function_by_hand): Call set_std_terminate_breakpoint. Rewrite std::terminate handling. * breakpoint.h (enum bptype) : New. (enum stop_stack_kind): New. (struct bpstat_what) : Change type. (set_std_terminate_breakpoint, delete_std_terminate_breakpoint): Declare. * breakpoint.c (create_std_terminate_master_breakpoint): New function. (update_breakpoints_after_exec): Handle bp_std_terminate_master. Call create_std_terminate_master_breakpoint. (print_it_typical): Handle new breakpoint kinds. (bpstat_stop_status): Handle bp_std_terminate_master. (bpstat_what): Correctly set call_dummy field. Handle bp_std_terminate_master and bp_std_terminate. (print_one_breakpoint_location): Update. (allocate_bp_location): Update. (set_std_terminate_breakpoint): New function. (delete_std_terminate_breakpoint): Likewise. (create_thread_event_breakpoint): Update. (delete_command): Update. (breakpoint_re_set_one): Update. (breakpoint_re_set): Call create_std_terminate_master_breakpoint. 2010-03-25 Jan Kratochvil * symfile.c (build_section_addr_info_from_bfd): New. (build_section_addr_info_from_objfile): Base it on build_section_addr_info_from_bfd. (addrs_section_compar, addrs_section_sort): New. (addr_info_make_relative): New variables my_cleanup, abfd_addrs, addrs_sorted, abfd_addrs_sorted and addrs_to_abfd_addrs. Build addrs_to_abfd_addrs. Use it for recalculating ADDRS. 2010-03-24 Michael Snyder * elfread.c (find_separate_debug_file_by_buildid): Remove unused local variable. 2010-03-24 Tom Tromey PR breakpoints/9352: * NEWS: Mention changes to `commands' and `rbreak'. * symtab.c (do_end_rbreak_breakpoints): New function. (rbreak_command): Call start_rbreak_breakpoints; arrange to call end_rbreak_breakpoints. * breakpoint.c (breakpoint_count, tracepoint_count): Now static. (set_breakpoint_count): Likewise. Clear last_was_multi. (multi_start, multi_end, last_was_multi): New globals. (start_rbreak_breakpoints, end_rbreak_breakpoints): New functions. (struct commands_info): New (do_map_commands_command): New function. (commands_command_1): New function. (commands_command): Use it. (commands_from_control_command): Likewise. (do_delete_breakpoint): New function. (delete_command): Use it. (map_breakpoint_numbers): Add 'data' argument. Pass to callback. (do_map_disable_breakpoint): New function. (disable_command): Use it. (do_map_enable_breakpoint): New function. (enable_command): Use it. (enable_once_breakpoint): Add argument. (enable_once_command): Update. (enable_delete_breakpoint): Add argument. (enable_delete_command): Update. (break_command_really): Set last_was_multi when needed. (check_tracepoint_command): Fix formatting. (validate_commands_for_breakpoint): New function. (breakpoint_set_commands): Use it. (tracepoint_save_command): Update. * breakpoint.h (start_rbreak_breakpoints, end_rbreak_breakpoints): Declare. 2010-03-24 Tom Tromey * breakpoint.h (struct counted_command_line): New struct. (struct breakpoint) : Change type. (struct bpstats) : Change type. : New field. * breakpoint.c (alloc_counted_command_line): New function. (incref_counted_command_line): Likewise. (decref_counted_command_line): Likewise. (do_cleanup_counted_command_line): Likewise. (make_cleanup_decref_counted_command_line): Likewise. (breakpoint_set_commands): Use decref_counted_command_line and alloc_counted_command_line. (commands_command): Don't error if breakpoint commands are executing. (commands_from_control_command): Likewise. (bpstat_free): Update. (bpstat_copy): Likewise. (bpstat_clear_actions): Likewise. (bpstat_do_actions_1): Likewise. (bpstat_stop_status): Likewise. (print_one_breakpoint_location): Likewise. (delete_breakpoint): Likewise. (bpstat_alloc): Initialize new field. (tracepoint_save_command): Update. * tracepoint.c (encode_actions): Update. (trace_dump_command): Update. 2010-03-24 Daniel Jacobowitz * dwarf2-frame.c (dwarf2_frame_find_quirks): Use producer_is_realview. * dwarf2read.c (load_full_comp_unit): Read DW_AT_producer. (read_structure_type): For RealView, set TYPE_STUB on structures with no byte size and no children. (read_subroutine_type): Mark functions as prototyped by default. * symtab.c (producer_is_realview): New function. * symtab.h (expand_line_sal): Fix declaration formatting. (producer_is_realview): Declare. 2010-03-24 Daniel Jacobowitz * arm-tdep.c (skip_prologue_function): New function. (submask, bit, bits, sbits, BranchDest): Move higher in the file. (thumb_analyze_prologue): Document return value. Recognize more Thumb instructions, skippable calls, and some Thumb-2 instructions. Add debug output. (arm_skip_prologue): Remove call dummy check. Check the prologue for non-GNU compilers. (arm_instruction_changes_pc): New function. (arm_analyze_prologue): New function, broken out from arm_scan_prologue. Recognize more ARM instructions and skippable calls. Update comments. Handle NULL cache. Return the address of the first unrecognized instruction. Do not skip past other instructions which change control flow. Add debug output. (arm_scan_prologue): Use arm_analyze_prologue. (ARM_PC_32): Delete. (shifted_reg_val): Simplify ARM_PC_32 check. 2010-03-24 Vladimir Prus * tracepoint.c (tvariables_info_1): Actually compute the number of rows in the result. 2010-03-24 Pedro Alves * remote.c (crc32): Constify `buf' parameter. (remote_verify_memory): New, abstracted out from... (compare_sections_command): ... this. Remove hardcoded target checks. (init_remote_ops): Install remote_verify_memory. * target.c (target_verify_memory): New. * target.h (struct target_ops) : New field. (target_verify_memory): Declare. 2010-03-24 Vladimir Prus Implement -trace-save. * mi-cmds.h (mi_cmds_trace_save): Declare. * mi-cmds.c (mi_cmds): Register -trace-save. * mi/mi-main.c (mi_cmd_trace_save): New. * remote.c (remote_save_trace_data): Take const parameter. * target.h (struct target_ops::to_save_trace_data): Take const parameter. * target.c (update_current_target): Adjust to the above. * tracepoint.c (trave_save): New, extracted from (trace_save_command): ...this. (tfile_trace_find): Remove message that is unnecessary now that 'tfind' reports found frame. * tracepoint.h (trace_save): Declare. 2010-03-24 Vladimir Prus Implement -trace-find. * mi/mi-cmds.c (mi_cmds): Register -trace-find. * mi/mi-cmds.h (mi_cmd_trace_find): Declare. * mi/mi-main.c (mi_cmd_trace_find): New. * target.h (struct target_ops): Document to_trace_find. * tracepoint.h (tfind_1): Declare. * tracepoint.c (finish_tfind_command): Rename to... (tfind_1): ...this. * remote.c (remote_trace_find): Return -1 if target say there's no frame. Improve error diagnostics. 2010-03-24 Vladimir Prus -trace-define-variable and -trace-list-variables. * tracepoint.c (create_trace_state_variable): Make private copy of name, as opposed to assuming the pointer lives forever. (tvariables_info_1): New. (tvariables_info): Use the above. * tracepoint.h (create_trace_state_variable, tvariables_info_1): Declare. * mi/mi-cmds.c (mi_cmds): Register -trace-define-variable and -trace-list-variables. * mi/mi-cmds.h (mi_cmd_trace_define_variable) (mi_cmd_trace_list_variables): New. * mi/mi-main.c (mi_cmd_trace_define_variable) (mi_cmd_trace_list_variables): New. 2010-03-24 Vladimir Prus Implement -break-passcount. * mi/mi-cmd-break.c (mi_cmd_break_passcount): New. * mi/mi-cmds.c (mi_cmds): Register -break-passcount. * mi/mi-cmds.h (mi_cmd_break_passcount): Declare. 2010-03-24 Vladimir Prus -trace-start/-trace-end/-trace-status. * mi/mi-cmds.c (mi_cmds): Register -trace-start, -trace-status and -trace-stop. * mi/mi-cmds.h (mi_cmd_trace_start, mi_cmd_trace_status) (mi_cmd_trace_stop): Declare. * mi/mi-main.c (mi_cmd_trace_start, mi_cmd_trace_status) (mi_cmd_trace_stop): New. * tracepoint.c (start_tracing): New, extracted from... (trace_start_command): ...this. (trace_status_mi): New. * tracepoint.h (struct trace_status): Document stopping_tracepoint. (start_tracing, stop_tracing, trace_status_mi): Declare. 2010-03-24 Vladimir Prus Implement creating tracepoints with -break-insert. * mi/mi-cmd-break.c (mi_cmd_break_insert): Handle -a to mean that tracepoint should be created. 2010-03-24 Vladimir Prus * breakpoint.c (check_no_tracepoint_commands): Use current spelling of 'teval'. 2010-03-24 Vladimir Prus Unify actions and commands * defs.h (read_command_lines, read_command_lines_1): New parameters validator and closure. * tracepoint.h (struct action_line): Remove. * breakpoint.h (struct breakpoint): Remove the 'actions' field. * defs.h (enum command_control_type): New value while_stepping_control. (struct command_line): Add comments. * breakpoint.c (breakoint_is_tracepoint): New. (breakpoint_set_commands): For tracepoints, verify the commands are permissible. (check_tracepoint_commands): New. (commands_command): Require that each new line is validated using check_tracepoint_command, if we set commands for a tracepoint. (create_tracepoint_from_upload): Likewise. (print_one_breakpoint_location): Remove the code to print actions specifically. (tracepoint_save_command): Relay to print_command_lines. * cli/cli-script.c (process_next_line): New parameters validator and closure. Handle 'while-stepping'. Call validator if not null. (read_command_lines, read_command_lines1): Likewise. (recurse_read_control_structure): New parameters validator and closure. Handle while_stepping_control. (print_command_lines): Handle while-stepping. (get_command_line, define_command, document_command): Adjust. * remote.c (remote_download_tracepoint): Adjust. * tracepoint.c (make_cleanup_free_actions, read_actions) (free_actions, do_free_actions_cleanup): Remove. (trace_actions_command): Use read_command_lines. (validate_actionline): Use error in one place. (encode_actions_1): New, extracted from... (encode_actions): ...this. Also use cleanups for exception safety. (trace_dump_command): Adjust. * mi/mi-cmd-break (mi_cmd_break_commands): Validate commands if it's tracepoint. 2010-03-23 Mike Frysinger * Makefile.in (OPCODES_CFLAGS): Add -I$(OPCODES_SRC)/.. 2010-03-22 Stan Shebs * value.c (value_static_field): Be lazy about the field's value. 2010-03-22 Reid Kleckner PR gdb/11094 * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Add bp_jit_event. (disable_breakpoints_in_shlibs): Likewise. 2010-03-22 Ulrich Weigand * dwarf2read.c (partial_die_parent_scope): Work around buggy GCC 4.1 debug info generation (GCC PR c++/28460). (determine_prefix): Likewise. 2010-03-20 Daniel Jacobowitz * tui/tui-disasm.c (tui_get_begin_asm_address): Default to get_current_arch. * tui/tui-layout.c (extract_display_start_addr): Likewise. 2010-03-19 Stan Shebs * ax-gdb.c (gen_fetch): Handle bool. (gen_usual_unary): Ditto. (gen_cast): Ditto. (gen_equal): New function. (gen_less): New function. (gen_expr_binop_rest): Call them, also return integer type from logical operations. (gen_expr): Ditto. 2010-03-19 Tom Tromey * jv-lang.c (jv_dynamics_objfile_data_key) (jv_type_objfile_data_key): New globals. (class_symtab): Move earlier. (jv_per_objfile_free): New function. (get_dynamics_objfile): Call set_objfile_data. Add 'gdbarch' parameter. Remove ancient #if 1. (add_class_symbol): Remove redundant declaration. (java_lookup_class): Use alloc_type, not alloc_type_arch. (java_link_class_type): Mark as static. Update. (jv_clear_object_type): New function. (set_java_object_type): Likewise. (get_java_object_type): Use set_java_object_type. (is_object_type): Likewise. (_initialize_java_language): Register new objfile keys. (get_java_class_symtab): Add 'gdbarch' parameter. (add_class_symtab_symbol): Update. (type_from_class): Update. 2010-03-19 Stan Shebs * ax-general.c (ax_const_l): Fix a sizing bug. 2010-03-18 Joel Brobecker GDB 7.1 released. 2010-03-18 Stan Shebs Pedro Alves * target.h (struct target_ops): New method to_set_circular_trace_buffer. (target_set_circular_trace_buffer): New macro. * target.c (update_current_target): Add to_set_circular_trace_buffer, fix to_set_disconnected_tracing default behavior. * remote.c (remote_set_circular_trace_buffer): New function. (init_remote_ops): Add it to vector. * tracepoint.h (struct trace_status): New field traceframes_created, change buffer_size and buffer_free to int. * tracepoint.c (circular_trace_buffer): New global. (start_tracing): Send values of disconnected tracing and circular trace buffer settings. (set_circular_trace_buffer): New function. (parse_trace_state): Handle total space and frames created. (trace_status_command): Display total space and total frames created. (trace_save): Write out new status values. (parse_trace_status): Set traceframe_count, traceframes_created, buffer_free and buffer_size to -1 by default. (_initialize_tracepoint): New setshow for circular-trace-buffer. * NEWS: Mention the circular trace buffer option. 2010-03-18 Tom Tromey * infcmd.c (finish_command_continuation): Wrap print_return_value in TRY_CATCH. 2010-03-18 Joel Brobecker * dwarf2read.c (add_partial_subprogram): Make sure the subprogram DIE has a name before creating the associated partial symbol. (read_func_scope): Emit a complaint if the subprogram does not have a name or when we can't extract the subprogram PC bounds. 2010-03-18 Ulrich Weigand * mi/mi-main.c (mi_cmd_list_thread_groups): Use get_current_arch instead of selected frame architecture. 2010-03-18 Pedro Alves * infcmd.c (until_command): Use ERROR_NO_INFERIOR. Ensure there's a valid selected thread, and that it is not running. (advance_command): Ditto. (finish_command): Ditto. 2010-03-17 Stan Shebs * ax-gdb.c (require_rvalue): Disallow non-scalars. * infcall.c: Include tracepoint.h. (call_function_by_hand): Disallow calls in tfind mode. * infcmd.c: Include tracepoint.h. (ensure_not_tfind_mode): New function. (continue_1): Call it. (step_1) Ditto. (jump_command): Ditto. (signal_command): Ditto. (advance_command): Ditto. (until_command): Ditto. (finish_command): Ditto. * tracepoint.h (disconnect_or_stop_tracing): Declare. * ax-gdb.h (struct axs_value): New field optimized_out. (gen_trace_for_var): Add gdbarch argument. * ax-gdb.c (gen_trace_static_fields): New function. (gen_traced_pop): Call it, add gdbarch argument. (gen_trace_for_expr): Update call to it. (gen_trace_for_var): Ditto, and report optimized-out variables. (gen_struct_ref_recursive): Check for optimized-out value. (gen_struct_elt_for_reference): Ditto. (gen_static_field): Pass gdbarch instead of expression, assume optimization if field not found. (gen_var_ref): Set the optimized_out flag. (gen_expr): Error on optimized-out variable. * tracepoint.c (collect_symbol): Handle struct-valued vars as expressions, skip optimized-out variables with computed locations. * dwarf2loc.c (dwarf2_tracepoint_var_ref): Flag instead of erroring out if location expression missing. (loclist_tracepoint_var_ref): Don't error out here. 2010-03-17 Tom Tromey * dwarf2read.c (dwarf2_get_section_info): Handle case where no DWARF data is available. 2010-03-17 Daniel Jacobowitz * symfile.c (generic_load): Reset breakpoints after loading. 2010-03-17 Tom Tromey * linux-nat.c (linux_nat_detach): Check debug_linux_nat. 2010-03-17 Jan Kratochvil * spu-tdep.c (spu_catch_start): Replace set_breakpoint call with the create_breakpoint call, adjust the parameters. 2010-03-16 Jan Kratochvil Chandru * dwarf2read.c (read_subrange_type): Set TYPE_HIGH_BOUND_UNDEFINED. * valarith.c (value_subscripted_rvalue): Suppress error if TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. 2010-03-16 Holger Hans Peter Freyther * linux-record.c (record_linux_msghdr): Remove unintended semicolons. 2010-03-16 Joel Brobecker * ada-tasks.c (task_command_1): Check that the task ptid is valid before doing the associated thread switch. 2010-03-16 Daniel Jacobowitz * MAINTAINERS: Update my email address. 2010-03-16 Vladimir Prus Simplify MI breakpoint setting. * breakpoint.c (break_command_really): Make nonstatic and rename to... (create_breakpoint): ...this. Rename prior function by this name to... (create_breakpoint_sal): ...this. (create_breakpoints): Rename to... (create_breakpoints_sal): ...this. (set_breakpoint): Remove. * breakpoint.h: Adjust to above changes. * mi/mi-cmd-break.c (mi_cmd_break_insert): Simplify. 2010-03-15 Stan Shebs * ax-gdb.c: Include cp-support.h. (find_field): Remove. (gen_primitive_field): New function. (gen_struct_ref_recursive): New function. (gen_struct_ref): Rewrite to call gen_struct_ref_recursive instead of find_field. (gen_static_field): New function. (gen_struct_elt_for_reference): New. (gen_namespace_elt): New. (gen_maybe_namespace_elt): New. (gen_aggregate_elt_ref): New. (gen_expr): Add OP_SCOPE, display opcode name in error message. 2010-03-15 Tom Tromey * dwarf2read.c (die_needs_namespace): Also return 0 for DW_TAG_subprogram. 2010-03-15 Sami Wagiaalla PR c++/7936: * cp-support.h: Added char *declaration element to using_direct data struct. (cp_add_using): Added char *declaration argument. (cp_add_using_directive): Ditto. (cp_lookup_symbol_imports): made extern. * cp-namespace.c: Updated with the above changes. * dwarf2read.c (read_import_statement): Ditto. (read_namespace): Ditto. (read_import_statement): Support import declarations. * cp-namespace.c (cp_lookup_symbol_imports): Check for imported declarations. Added support for 'declaration_only' search. (cp_lookup_symbol_namespace): Attempt to search for the name as is before consideration of imports. * symtab.c (lookup_symbol_aux_local): Added a 'declaration_only' search at every block level search. Now takes language argument. (lookup_symbol_aux): Updated. 2010-03-15 Tom Tromey * c-exp.y (name_not_typename): Add 'operator' clause. 2010-03-15 Ralf Corsepius (tiny change) * configure.ac: Exit if ${gdb_target_obs}" is not set. * configure: Regenerate. 2010-03-15 Jan Kratochvil * symfile.c (addr_info_make_relative): Ignore also missing ".dynbss" and ".sdynbss". Update the comment. 2010-03-15 Jie Zhang * MAINTAINERS: Update my email address. 2010-03-14 Daniel Jacobowitz * gdbtypes.h (TYPE_IS_OPAQUE): Correct HAVE_CPLUS_STRUCT check. 2010-03-14 Daniel Jacobowitz * charset.c [USE_WIN32API]: Include . (_initialize_charset): Correct type of w32_host_default_charset. 2010-03-14 Pedro Alves * infrun.c (ptid_match): Don't assert that PTID is not a pid ptid. 2010-03-12 Tom Tromey PR c++/9708: * dwarf2read.c (die_needs_namespace) : A variable in a lexical block does not need a namespace. (new_symbol) : Put extern variables on list_in_scope in all cases. 2010-03-12 Stan Shebs * ax-gdb.c (gen_expr): Add shift expressions. (gen_expr_binop_rest): Ditto. 2010-03-12 Sami Wagiaalla * buildsym.c (finish_block): Reset using_directives pointer after block initialization. 2010-03-12 H.J. Lu * amd64-tdep.c (amd64_word_names): Replace "sp" with "". * i386-tdep.c (i386_word_names): Likewise. 2010-03-12 Pedro Alves * target.c (memory_xfer_partial): Don't use the stack cache if inspecting trace frames. * tracepoint.c (finish_tfind_command): Invalidate the target dcache. 2010-03-11 Jan Kratochvil * solib-svr4.c (LM_ADDR_CHECK) : Use printf_unfiltered for the PIC displacement, print also the displacement value. (svr4_exec_displacement): Print DISPLACEMENT if INFO_VERBOSE. 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: