+2011-04-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-lang.c (ada_is_simple_array_type, ada_value_slice_from_ptr)
+ (ada_value_slice, empty_array, to_fixed_array_type): Deal with
+ typedefs.
+
+2011-04-01 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.h (bpdisp_text): Add declaration.
+ * breakpoint.c (bpdisp_text): Make non-static.
+ * ada-lang.c: #include "mi/mi-common.h".
+ (print_it_exception): Rewrite to improve GDB/MI output.
+
+2011-04-01 Pedro Alves <pedro@codesourcery.com>
+
+ * arm-tdep.h (struct address_space): Add forward declaration.
+
+2011-04-01 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
+ * arm-tdep.c (arm_override_mode): New global.
+ (arm_pc_is_thumb): Respect arm_override_mode. Remove single-step
+ execution mode heuristics.
+ (thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
+ second single-step breakpoint if needed, using
+ arm_insert_single_step_breakpoint.
+ (arm_get_next_pc_raw): Remove INSERT_BKTP argument. Only handle
+ ARM execution mode, do not call thumb_get_next_pc_raw.
+ (arm_get_next_pc): Encode execution mode in return value. Call
+ either arm_get_next_pc_raw or thumb_get_next_pc_raw.
+ (arm_insert_single_step_breakpoint): New function.
+ (arm_software_single_step): Call it.
+ * arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
+ argument to return execution mode of sigreturn target.
+ (arm_linux_syscall_next_pc): Use it.
+ (arm_linux_copy_svc): Update call.
+ (arm_linux_software_single_step): Call
+ arm_insert_single_step_breakpoint.
+
+2011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (dwarf2_read_index): Fix .gdb_index version number in
+ the comment.
+
+2011-03-31 Tom Tromey <tromey@redhat.com>
+
+ * varobj.c (update_dynamic_varobj_children): Properly handle
+ errors from iterator.
+
+2011-03-31 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (dwarf2_name): Initialize DEMANGLED. Avoid demangling
+ struct linkage name twice.
+
+2011-03-31 Tom Tromey <tromey@redhat.com>
+
+ * python/py-prettyprint.c (print_stack_unless_memory_error): Add
+ missing ">" to message.
+
+2011-03-31 Tom Tromey <tromey@redhat.com>
+
+ * varobj.c (instantiate_pretty_printer): Remove duplicate
+ 'return'.
+
+2011-03-31 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * i386-tdep.c (i386_frame_prev_register): Unwind SP from memory
+ if neither saved value nor register available (e.g. signal frame).
+
+2011-03-31 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * macroexp.c (expand): Avoid uninitialized variable
+ compiler warning.
+
+2011-03-31 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * breakpoint.c (break_range_command): Fix typo in comment.
+
+2011-03-31 Thiago Jung Bauermann <bauerman@br.ibm.com>
+ Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
+
+ Implement support for PowerPC BookE ranged breakpoints.
+ * NEWS: Mention support for ranged breakpoints on embedded PowerPC.
+ * breakpoint.h (struct bp_target_info) <length>: New member
+ variable.
+ (struct breakpoint_ops) <breakpoint_hit>: Take struct bp_location
+ instead of struct breakpoint as argument, and also add ASPACE
+ and BP_ADDR arguments. Update all callers.
+ (struct breakpoint_ops) <print_one_detail>: New method.
+ (struct breakpoint) <addr_string_range_end>: New member variable.
+ * breakpoint.c (breakpoint_location_address_match): Add function
+ prototype.
+ (insert_bp_location): Set bl->target_info.length.
+ (breakpoint_here_p): Call breakpoint_location_address_match.
+ (moribund_breakpoint_here_p): Likewise.
+ (regular_breakpoint_inserted_here_p): Likewise.
+ (breakpoint_thread_match): Likewise.
+ (bpstat_stop_status): Likewise.
+ (bpstat_check_location): Move call to
+ breakpoint_ops.breakpoint_hit to the top.
+ (print_one_breakpoint_location): Call
+ breakpoint_ops.print_one_detail if available.
+ (breakpoint_address_match_range): New function.
+ (breakpoint_location_address_match): Likewise.
+ (breakpoint_locations_match): Compare the length field of the
+ locations too.
+ (hw_breakpoint_used_count): Count resources used by all locations
+ in a breakpoint, and use breakpoint_ops.resources_needed if
+ available.
+ (breakpoint_hit_ranged_breakpoint): New function.
+ (resources_needed_ranged_breakpoint): Likewise.
+ (print_it_ranged_breakpoint): Likewise.
+ (print_one_ranged_breakpoint): Likewise.
+ (print_one_detail_ranged_breakpoint): Likewise.
+ (print_mention_ranged_breakpoint): Likewise.
+ (print_recreate_ranged_breakpoint): Likewise.
+ (ranged_breakpoint_ops): New structure.
+ (find_breakpoint_range_end): New function.
+ (break_range_command): Likewise.
+ (delete_breakpoint): Free addr_string_range_end.
+ (update_breakpoint_locations): Add SALS_END argument. Update
+ all callers. Calculate breakpoint length if a non-zero SALS_END
+ is given. Call breakpoint_locations_match instead of
+ breakpoint_address_match.
+ (reset_breakpoint): Find SaL of the end of the range if B is a
+ ranged breakpoint.
+ (_initialize_breakpoint): Register break-range command.
+ * defs.h (print_core_address): Add function prototype.
+ * ppc-linux-nat.c (ppc_linux_ranged_break_num_registers): New
+ function.
+ (ppc_linux_insert_hw_breakpoint): Support ranged breakpoints.
+ (ppc_linux_remove_hw_breakpoint): Likewise.
+ (_initialize_ppc_linux_nat): Initialize
+ to_ranged_break_num_registers.
+ * target.c (update_current_target): Add comment about
+ to_ranged_break_num_registers.
+ (target_ranged_break_num_registers): New function.
+ * target.h (struct target_ops) <to_ranged_break_num_registers>:
+ New method.
+ (target_ranged_break_num_registers): Add function prototype.
+ * ui-out.c (ui_out_field_core_addr): Move address-printing logic to ...
+ * utils.c (print_core_address): ... here.
+
+2011-03-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * breakpoint.c (addr_string_to_sals): Avoid uninitialized
+ variable compiler warning.
+
+2011-03-30 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * breakpoint.c (breakpoint_re_set_one): Factor out breakpoint-resetting
+ code from here ...
+ (re_set_breakpoint): ... to here ...
+ (addr_string_to_sals): ... and here.
+
+2011-03-29 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * Makefile.in (SFILES): Add missing C sources.
+ (HFILES_NO_SRCDIR): Remove gdbserver subdirectory headers.
+ Add missing headers.
+
+2011-03-29 Mike Frysinger <vapier@gentoo.org>
+
+ * .gitignore: New file.
+
+2011-03-29 Mike Frysinger <vapier@gentoo.org>
+
+ * NEWS: Mention new cfi device simulation.
+
+2011-03-29 Tom Tromey <tromey@redhat.com>
+
+ * dwarf2read.c (fixup_partial_die): Handle linkage name on
+ otherwise anonymous types.
+ (dwarf2_name): Likewise.
+ * valops.c (value_struct_elt_for_reference): Refine artificial
+ type logic. Call error if j==-1.
+
+2011-03-29 Andreas Tobler <andreast-list@fgznet.ch>
+
+ Fix false GCC warning.
+ * infcall.c (find_function_addr): Initialize funaddr.
+
+2011-03-29 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ Fix mingw compilation with --enable-targets=all.
+ * remote-mips.c (gdb_usleep.h): Include header.
+ (mips_enter_debug): Use gdb_usleep instead of sleep.
+
+2011-03-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Support resolution of STT_GNU_IFUNC via breakpoints.
+ * breakpoint.c (print_it_typical): Support bp_gnu_ifunc_resolver and
+ bp_gnu_ifunc_resolver_return.
+ (bpstat_what): Rename parameter to bs_head, new variable bs, adjust
+ the loop. Support bp_gnu_ifunc_resolver and
+ bp_gnu_ifunc_resolver_return. New comment after the loop. New loop
+ for bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return
+ breakpoints.
+ (bptype_string, print_one_breakpoint_location): Support
+ bp_gnu_ifunc_resolver and bp_gnu_ifunc_resolver_return.
+ (user_settable_breakpoint): Return true also for
+ bp_gnu_ifunc_resolver.
+ (allocate_bp_location): Support bp_gnu_ifunc_resolver and
+ bp_gnu_ifunc_resolver_return.
+ (set_breakpoint_location_function): New parameter explicit_loc,
+ describe it. Call find_pc_partial_function_gnu_ifunc with new
+ variable IS_GNU_IFUNC and adjust the address for STT_GNU_IFUNC if
+ EXPLICIT_LOC is not set.
+ (set_raw_breakpoint): Set EXPLICIT_LOC for
+ set_breakpoint_location_function.
+ (clone_momentary_breakpoint): Use true for EXPLICIT_LOC of
+ set_breakpoint_location_function.
+ (mention): Support bp_gnu_ifunc_resolver and
+ bp_gnu_ifunc_resolver_return.
+ (add_location_to_breakpoint): Set EXPLICIT_LOC for
+ set_breakpoint_location_function.
+ (update_breakpoint_locations): Remove static.
+ (breakpoint_re_set_one): Support bp_gnu_ifunc_resolver and
+ bp_gnu_ifunc_resolver_return.
+ * breakpoint.h (enum bptype): New fields bp_gnu_ifunc_resolver and
+ bp_gnu_ifunc_resolver_return.
+ (update_breakpoint_locations): New declaration.
+ * elfread.c: Include gdbthread.h and regcache.h.
+ (elf_gnu_ifunc_resolver_stop, elf_gnu_ifunc_resolver_return_stop): New
+ functions.
+ (elf_gnu_ifunc_fns): Install them.
+ * minsyms.c (stub_gnu_ifunc_resolver_stop)
+ (stub_gnu_ifunc_resolver_return_stop): New functions.
+ (stub_gnu_ifunc_fns): Install them.
+ * symtab.h (struct gnu_ifunc_fns): New fields gnu_ifunc_resolver_stop
+ and gnu_ifunc_resolver_return_stop.
+ (gnu_ifunc_resolver_stop, gnu_ifunc_resolver_return_stop): New.
+
+2011-03-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ STT_GNU_IFUNC reader implementation.
+ * elfread.c: Include gdbtypes.h, value.h and infcall.h.
+ (SYMBOL_GOT_PLT_SUFFIX, elf_rel_plt_read)
+ (elf_objfile_gnu_ifunc_cache_data, struct elf_gnu_ifunc_cache)
+ (elf_gnu_ifunc_cache_hash, elf_gnu_ifunc_cache_eq)
+ (elf_gnu_ifunc_record_cache, elf_gnu_ifunc_resolve_by_cache)
+ (elf_gnu_ifunc_resolve_by_got, elf_gnu_ifunc_resolve_name)
+ (elf_gnu_ifunc_resolve_addr): New.
+ (elf_symfile_read): Call elf_rel_plt_read.
+ (elf_gnu_ifunc_fns): New.
+ (_initialize_elfread): Initialize elf_objfile_gnu_ifunc_cache_data.
+ Install elf_gnu_ifunc_fns.
+ * infcall.c (find_function_return_type): New function.
+ (find_function_addr): Resolve TYPE_GNU_IFUNC functions, if possible.
+ * minsyms.c (stub_gnu_ifunc_resolve_addr)
+ (stub_gnu_ifunc_resolve_name): New functions.
+ (stub_gnu_ifunc_fns, gnu_ifunc_fns_p): New variables.
+ * symtab.h (struct gnu_ifunc_fns, gnu_ifunc_resolve_addr)
+ (gnu_ifunc_resolve_name, gnu_ifunc_fns_p): New.
+
+2011-03-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup for later STT_GNU_IFUNC support.
+ * infcall.c (find_function_addr): Remove variable code, use explicit
+ dereferences for it. Move VALUE_TYPE initialization later.
+
+2011-03-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ GDB find_pc_partial_function support for STT_GNU_IFUNC.
+ * blockframe.c (cache_pc_function_is_gnu_ifunc): New variable.
+ (clear_pc_function_cache): Clear it.
+ (find_pc_partial_function): Rename to ...
+ (find_pc_partial_function_gnu_ifunc): ... this function. New
+ parameter is_gnu_ifunc_p, describe it. Set *IS_GNU_IFUNC_P.
+ (find_pc_partial_function): New wrapper for this function.
+ * symtab.h (find_pc_partial_function_gnu_ifunc): New declaration.
+
+2011-03-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ GDB internal type support for STT_GNU_IFUNC.
+ * elfread.c (record_minimal_symbol): Support mst_text_gnu_ifunc.
+ (elf_symtab_read): Set mst_text_gnu_ifunc for
+ BSF_GNU_INDIRECT_FUNCTION.
+ * eval.c (evaluate_subexp_standard): Support TYPE_GNU_IFUNC.
+ * gdbtypes.c (init_type): Support TYPE_FLAG_GNU_IFUNC,
+ builtin_func_func, nodebug_text_gnu_ifunc_symbol and
+ nodebug_got_plt_symbol.
+ * gdbtypes.h (enum type_flag_value): New entry TYPE_FLAG_GNU_IFUNC.
+ (TYPE_GNU_IFUNC): New.
+ (struct main_type): New field flag_gnu_ifunc.
+ (struct builtin_type): New field builtin_func_func.
+ (struct objfile_type): New fields nodebug_text_gnu_ifunc_symbol and
+ nodebug_got_plt_symbol.
+ * minsyms.c (lookup_minimal_symbol_text): Support mst_text_gnu_ifunc.
+ (in_gnu_ifunc_stub): New.
+ (prim_record_minimal_symbol, find_solib_trampoline_target): Support
+ mst_text_gnu_ifunc.
+ * parse.c (write_exp_msymbol): New variable ifunc_msym. Detect and
+ support mst_text_gnu_ifunc. Support mst_slot_got_plt.
+ * solib-svr4.c (svr4_in_dynsym_resolve_code): Return true also for
+ in_gnu_ifunc_stub.
+ * symmisc.c (dump_msymbols): Support mst_text_gnu_ifunc.
+ * symtab.c (search_symbols): Likewise.
+ * symtab.h (enum minimal_symbol_type): New fields mst_text_gnu_ifunc
+ and mst_slot_got_plt.
+ (in_gnu_ifunc_stub): New declaration.
+
+2011-03-28 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Support a ring of related breakpoints.
+ * breakpoint.c (watchpoint_del_at_next_stop): New, move here code from
+ other functions, add gdb_assert.
+ (update_watchpoint, watchpoint_check): Add gdb_assert. Use
+ watchpoint_del_at_next_stop.
+ (bpstat_check_watchpoint): Use watchpoint_del_at_next_stop.
+ (bpstat_stop_status): Handle ring in related_breakpoint.
+ (set_raw_breakpoint_without_location): Initialize ring in
+ related_breakpoint.
+ (delete_breakpoint): Handle ring in related_breakpoint, use
+ watchpoint_del_at_next_stop.
+ (map_breakpoint_numbers): Handle ring in related_breakpoint.
+
+2011-03-28 Tom Tromey <tromey@redhat.com>
+
+ PR symtab/12441:
+ * dwarf2read.c (prepare_one_comp_unit): Don't call set_cu_language
+ with `language_minimal'.
+
+2011-03-25 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ * arm-tdep.c (arm_elf_make_msymbol_special): Use ARM_SYM_BRANCH_TYPE
+ instead of checking for STT_ARM_TFUNC symbol type.
+
+2011-03-25 Tom Tromey <tromey@redhat.com>
+
+ * linespec.c (symbol_found): Restore line-based result for
+ non-LOC_LABEL symbols.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * tui/tui-source.c (tui_set_source_content): Use filename_cmp
+ instead of strcmp for comparison.
+ (tui_source_is_displayed): Likewise.
+ * tui/tui-winsource.c (tui_update_breakpoint_info): Likewise.
+
+2011-03-24 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2read.c (lookup_signatured_type): Use DW_FORM_ref_sig8 in
+ complaint.
+ (skip_one_die): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
+ (find_partial_die_in_comp_unit): Likewise in comment.
+ (read_attribute_value): Likewise.
+ (lookup_die_type): Likewise.
+ (dwarf_form_name): Likewise.
+ (dump_die_shallow): Likewise.
+ (follow_die_ref_or_sig): Likewise.
+
+2011-03-24 Tom Tromey <tromey@redhat.com>
+
+ PR breakpoints/11816:
+ * linespec.c (decode_line_1): Parse `function:label' linespecs.
+ (decode_compound): Update.
+ (find_function_symbol): New function.
+ (decode_dollar): Update.
+ (decode_label): Add 'function_symbol' parameter. Handle
+ function-relative labels.
+ (decode_variable): Update.
+ (symbol_found): Add 'function_symbol' parameter. Use label's PC,
+ not its line. Set `special_display' and canonical name for
+ labels.
+
+2011-03-24 Tom Tromey <tromey@redhat.com>
+
+ * linespec.h (struct linespec_result) <special_display>: New
+ field.
+ * breakpoint.h (struct breakpoint) <display_canonical>: New
+ field.
+ * breakpoint.c (print_breakpoint_location): Respect
+ display_canonical.
+ (create_breakpoint_sal): Add 'display_canonical' parameter.
+ (create_breakpoints_sal): Update.
+ (create_breakpoint): Update.
+
+2011-03-24 Tom Tromey <tromey@redhat.com>
+
+ * symtab.c (decode_line_spec): Update.
+ * linespec.c (build_canonical_line_spec): Change type of
+ 'canonical'.
+ (decode_line_2, decode_line_1, decode_objc, decode_compound)
+ (find_method, decode_all_digits, decode_dollar, decode_label)
+ (symbol_found): Likewise.
+ (init_linespec_result): New function.
+ * breakpoint.c (struct captured_parse_breakpoint_args)
+ <canonical_p>: New field, replaces addr_string_p.
+ (create_breakpoints_sal): Add 'canonical' parameter, replacing
+ 'addr_string'.
+ (parse_breakpoint_sals): Likewise.
+ (do_captured_parse_breakpoint): Update.
+ (create_breakpoint): Use struct linespec_result.
+ (until_break_command): Update.
+ (breakpoint_re_set_one): Update.
+ (decode_line_spec_1): Update.
+ * linespec.h (struct linespec_result): New.
+ (init_linespec_result): Declare.
+
+2011-03-23 Pedro Alves <pedro@codesourcery.com>
+
+ * regcache.c (regcache_raw_read): If the target didn't supply a
+ given raw register, mark it as unavailable.
+
+2011-03-23 Kai Tietz <ktietz@redhat.com>
+
+ * breakpoint.c (clear_command): Use filename_cmp
+ instead of strcmp for comparison.
+ * buildsym.c (watch_main_source_file_lossage): Likewise.
+ (patch_subfile_names): Use IS_DIR_SEPARATOR instead of
+ checking just for slash.
+ * dbxread.c (read_dbx_symtab): Use lbasename instead of
+ strrchr and filename_cmp instead of strcmp for filenames.
+ (add_old_header_file): Use filename_cmp
+ instead of strcmp for comparison.
+ * exec.c (exec_set_section_address): Likewise.
+ * macrotab.c (macro_lookup_inclusion): Likewise.
+ (macro_lookup_inclusion): Likewise.
+ * elfread.c (_initialize_elfread): Likewise.
+ (elfstab_offset_sections): Likewise.
+ (elfstab_offset_sections): Use lbasename instead of
+ strrchr.
+ * mdebugread.c (parse_partial_symbols): Likewise.
+ (arse_partial_symbols): Use filename_(n)cmp instead of
+ str(n)cmp for comparison.
+ * minsyms.c (lookup_minimal_symbol): Likewise.
+ * psymtab.c (read_psymtabs_with_filename): Likewise.
+ * solib.c (solib_read_symbols): Likewise.
+ (reload_shared_libraries_1): Likewise.
+ * symmisc.c (maintenance_print_symbols): Likewise.
+ * symfile.c (separate_debug_file_exists): Likewise.
+ (reread_symbols): Likewise.
+ (find_separate_debug_file_by_debuglink): Likewise.
+ * remote-fileio.c (remote_fileio_func_rename): Likewise.
+ * source.c (add_path): Likewise.
+ * symtab.c (filename_seen): Likewise.
+ (file_matches): Likewise.
+ (print_symbol_info): Likewise.
+ (maybe_add_partial_symtab_filename): Likewise.
+ (make_source_files_completion_list): Likewise.
+ * xml-syscall.c (init_sysinfo): Likewise.
+ * windows-nat.c (_initialize_check_for_gdb_ini): Use
+ IS_DIR_SEPARATOR for checking for trailing path separator.
+
+2011-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_entry_value. New
+ label abort_expression.
+ * dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle
+ DWARF_VALUE_OPTIMIZED_OUT.
+
+2011-03-22 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup.
+ * c-typeprint.c (c_type_print_args): Change parameter show_artificial
+ to linkage_name. Invert its value. Update the function comment.
+ (c_type_print_varspec_suffix): Invert it at the caller.
+ * dwarf2read.c (dwarf2_compute_name): Invert it at the caller.
+
2011-03-22 Pedro Alves <pedro@codesourcery.com>
* infcmd.c (post_create_inferior): Ignore NOT_AVAILABLE_ERROR