+2008-04-29 Joel Brobecker <brobecker@adacore.com>
+
+ * gdbarch.sh: Document the return_value method. Explain that
+ the FUNCTYPE parameter might be NULL.
+ * gdbarch.h: Regenerated.
+ * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
+ type when calling using_struct_return, as this is unnecessary
+ on this target.
+
+2008-04-28 Joel Brobecker <brobecker@adacore.com>
+
+ * terminal.h (create_tty_session): Fix return type.
+
+2008-04-26 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-interp.c (mi_new_thread): Quote the thread id.
+
+2008-04-26 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (condition_command, commands_from_control_command)
+ (break_command_really): Minor reformatting.
+
+2008-04-25 Pedro Alves <pedro@codesourcery.com>
+
+ * dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.
+
+2008-04-25 Pedro Alves <pedro@codesourcery.com>
+
+ * amd64-tdep.c (amd64_get_longjmp_target): New.
+ (amd64_init_abi): Register amd64_get_longjmp_target as
+ gdbarch_get_longjmp_target callback.
+ * i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling.
+
+2008-04-25 Pedro Alves <pedro@codesourcery.com>
+
+ * breakpoint.h (enum bpstat_what_main_action): Delete
+ BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE.
+
+ * breakpoint.c (clrs): Delete.
+ (bpstat_what): Update table.
+
+ * infrun.c (handle_inferior_event): Remove
+ BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
+ Adjust all prototypes using mi_cmd_args_ftype to use
+ mi_cmd_argv_ftype.
+ (struct mi_cmd): Remove the args_func field.
+ * mi/mi-cmds.c: Don't provide value for the args_func field.
+ * mi/mi-main.c (mi_execute_async_cli_command)
+ (mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
+ (mi_cmd_exec_step, mi_cmd_exec_step_instruction)
+ (mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return)
+ (mi_cmd_exec_continue, mi_cmd_exec_interrupt)
+ (mi_cmd_target_download): Adjust.
+ (mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
+ (mi_cmd_execute): Do not check for args_func.
+ (mi_execute_async_cli_command): Adjust.
+ * mi/mi-parse.c: Don't check for args_func.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.c (bpstat_check_location)
+ (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
+ New, extracted from bpstat_stop_status.
+ (bpstat_stop_status): Use the above.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-main.c (last_async_command): Rename to current_token.
+ (previous_async_command): Remove.
+ (mi_cmd_gdb_exit): Adjust.
+ (mi_cmd_exec_interrupt): Don't dance with previous_async_command.
+ (mi_cmd_target_select): Adjust.
+ (mi_cmd_execute): Don't set previous_async_command. Free token
+ here even in async mode.
+ (mi_execute_async_cli_command): Adjust.
+ (mi_exec_async_cli_cmd_continuation): Adjust. Do not free the
+ token.
+ (mi_load_progress): Adjust.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * infcmd.c (step_1_continuation): Always disable longjmp
+ breakpoint if we're not going to do another step.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ exec_cleanup murder.
+ * breakpoint.c (until_break_command_continuation): Add
+ the 'error' parameter. Directly delete the breakoint as
+ opposed to running cleanups.
+ (until_break_command): Install continuation only
+ after starting the target. Don't use exec cleanups,
+ use ordinary cleanups. Discard cleanups is successfully
+ started the target in async mode.
+ (make_cleanup_delete_breakpoint): Remove.
+ * breakpoint.h (make_cleanup_delete_breakpoint): Remove
+ declaration.
+ * defs.h (do_exec_cleanups, make_exec_cleanup): Remove
+ declarations.
+ (struct continations): Add the 'error' parameter to the
+ continuation_hook field.
+ (add_continuation, do_all_continuations)
+ (add_intermediate_continuation)
+ (do_all_intermediate_continuations): Add the 'error' parameter.
+ * exceptions.c (throw_exception): Don't call do_exec_cleanups.
+ * inf-loop.c (inferior_event_handler): Instead of calling
+ discard_all_continuations, use do_all_continuations with 1 as
+ 'error' parameter. Pass 0 as 'error' parameter in existing uses
+ of discard_all_continuations.
+ * infcmd.c (step_1): Do not use exec cleanup. For async case, discard
+ cleanups.
+ (step_once): Install continuation only after resuming the target.
+ (step_1_continuation): Disable longjmp breakpoint on error.
+ (finish_command_continuation): Add the error parameter. Delete
+ the finish breakpoint directly, do not use cleanups.
+ (finish_command): Do not use exec_cleanups. Always setup
+ continuation. For sync case, immediately run them.
+ (attach_command_continuation): Add the error parameter.
+ * infrun.c (fetch_inferior_event): Do not use exec cleanups to
+ remove step_resume_breakpoint -- adjust delete it directly.
+ * interps.c (interp_set): Adjust call to do_all_continations.
+ * mi/mi-interp.c (mi_interpreter_exec_continuation): Do not
+ do exec cleanups.
+ * mi/mi-main.c (mi_cmd_target_select): Do not do exec
+ cleanups.
+ (mi_cmd_execute): Do not use exec_cleanup.
+ (mi_execute_async_cli_command): Simplify the string concatenation
+ logic. Do no use exec cleanup.
+ (mi_exec_async_cli_cmd_continuation): New parameter error.
+ Free last_async_command.
+ * top.c (command_line_handler_continuation): New parameter error.
+ * utils.c (exec_cleanup_chain, make_exec_cleanup)
+ (do_exec_cleanups): Remove.
+ (add_continuation, do_all_continations)
+ (add_intermediate_continuation)
+ (do_all_intermediate_continuations): New parameter error.
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.h (bp_location_p): New typedef.
+ Register a vector of bp_location_p.
+ * breakpoint.c (always_inserted_mode)
+ (show_always_inserted_mode): New.
+ (unlink_locations_from_global_list): Remove.
+ (update_global_location_list)
+ (update_global_location_list_nothrow): New.
+ (update_watchpoint): Don't free locations.
+ (should_insert_location): New.
+ (insert_bp_location): Use should_insert_location.
+ (insert_breakpoint_locations): Copied from
+ insert_breakpoints.
+ (insert_breakpoint): Use insert_breakpoint_locations.
+ (bpstat_stop_status): Call update_global_location_list
+ when disabling breakpoint.
+ (allocate_bp_location): Don't add to bp_location_chain.
+ (set_raw_breakpoint)
+ (create_longjmp_breakpoint, enable_longjmp_breakpoint)
+ (disable_longjmp_breakpoint, create_overlay_event_breakpoint)
+ (enable_overlay_breakpoints, disable_overlay_breakpoints)
+ (set_longjmp_resume_breakpoint)
+ (enable_watchpoints_after_interactive_call_stop)
+ (disable_watchpoints_before_interactive_call_start)
+ (create_internal_breakpoint)
+ (create_fork_vfork_event_catchpoint)
+ (create_exec_event_catchpoint, set_momentary_breakpoint)
+ (create_breakpoints, break_command_1, watch_command_1)
+ (create_exception_catchpoint)
+ (handle_gnu_v3_exceptions)
+ (disable_breakpoint, breakpoint_re_set_one)
+ (create_thread_event_breakpoint, create_solib_event_breakpoint)
+ (create_ada_exception_breakpoint): : Don't call check_duplicates.
+ Call update_global_location_list.
+ (delete_breakpoint): Don't remove locations and don't
+ try to reinsert them. Call update_global_location_list.
+ (update_breakpoint_locations): Likewise.
+ (restore_always_inserted_mode): New.
+ (update_breakpoints_after_exec): Temporary disable
+ always inserted mode.
+ * Makefile.in: Update dependencies.
+
+ * infrun.c (proceed): Remove breakpoints while stepping
+ over breakpoint.
+ (handle_inferior_event): Don't remove or insert
+ breakpoints.
+ * linux-fork.c (checkpoint_command): Remove breakpoints
+ before fork and insert after.
+ (linux_fork_context): Remove breakpoints before switch
+ and insert after.
+ * target.c (target_disconnect, target_detach): Remove
+ breakpoints from target.
+
+
+2008-04-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.c (print_one_breakpoint_location): In MI
+ mode, report the location string the breakpoint was
+ originally created with.
+
+2008-04-23 Maxim Grigoriev <maxim2405@gmail.com>
+
+ * Makefile.in (xtensa-tdep.o): Update dependencies.
+ * configure.tgt (xtensa*): Update dependencies.
+ * xtensa-tdep.c (arreg_number): Renamed from areg_number.
+ Local variable areg renamed to arreg.
+ (areg_number): New function.
+ (xtensa_pseudo_register_read, xtensa_pseudo_register_write)
+ (xtensa_extract_return_value, xtensa_store_return_value): areg_number
+ replaced by arreg_number.
+ (xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments.
+ (xtensa_alloc_frame_cache): Initialize cache->wd.ws.
+ (xtensa_scan_prologue): New function.
+ (xtensa_frame_cache): New local fp_regnum. Handle separately the case,
+ when ENTRY instraction hasn't been executed yet. Get the frame pointer
+ value based on prologue analysis. Fix the bugs preventing WS and
+ AR4-AR7/A11 registers from getting right values for intermediate frames,
+ whose registers have been already spilled.
+ (xtensa_frame_prev_register): Fix WS register value. Use are_number
+ and arreg_number appropriately.
+ (xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
+ svr4_ilp32_fetch_link_map_offsets.
+
+2008-04-23 Andrew Stubbs <andrew.stubbs@st.com>
+
+ * printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
+ (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
+
+2008-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * acinclude.m4: Add override.m4.
+ * configure: Regenerate.
+
+2008-04-22 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * ada-lang.c (get_selections): Variable PROMPT made non-const and
+ initialized with a trailing space now. Use PROMPT_ARG of
+ COMMAND_LINE_INPUT instead of printing it ourselves.
+
+2008-04-22 Joel Brobecker <brobecker@adacore.com>
+
+ * NEWS: Document support for 64-bit core file.
+
+2008-04-22 Corinna Vinschen <vinschen@redhat.com>
+
+ * NEWS: Add information on calling convention and new SH CLI options.
+
+ * sh-tdep.c (sh_cc_gcc): New static string.
+ (sh_cc_renesas): Ditto.
+ (sh_cc_enum): New static string array.
+ (sh_active_calling_convention): New static string pointer denoting
+ active user chosen ABI.
+ (sh_is_renesas_calling_convention): New function to return function
+ specific ABI, or user choice if necessary.
+ (sh_use_struct_convention): Rename first argument and turn around its
+ meaning. Check for renesas ABI and return accordingly.
+ (sh_use_struct_convention_nofpu): New function.
+ (sh_next_flt_argreg): Get function type as third parameter. Check
+ for renesas ABI and choose floating registers accordingly.
+ (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and
+ struct return slot accordingly.
+ (sh_push_dummy_call_nofpu): Ditto.
+ (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here.
+ Evaluate ABI and give to sh_use_struct_convention_nofpu.
+ (sh_return_value_fpu): Evaluate ABI and give to
+ sh_use_struct_convention.
+ (show_sh_command): New function.
+ (set_sh_command): Ditto.
+ (_initialize_sh_tdep): Initialize `set/show sh calling-convention
+ CLI command.
+
+ * gdbarch.sh (return_value): Add func_type argument.
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Ditto.
+ * eval.c (evaluate_subexp_standard): Rename local variable value_type to
+ val_type so as not to collide with value_type function. Call
+ using_struct_return with additional function type argument.
+ * infcall.c (call_function_by_hand): Call using_struct_return and
+ gdbarch_return_value with additional function type argument.
+ * infcmd.c (print_return_value): Take addition func_type argument.
+ Call gdbarch_return_value with additional function type argument.
+ (finish_command_continuation): Call print_return_value with additional
+ function type argument.
+ (finish_command): Ditto.
+ * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with
+ additional function type argument.
+ * stack.c (return_command): Call using_struct_return and
+ gdbarch_return_value with additional function type argument.
+ * value.c (using_struct_return): Take additional function type argument.
+ * value.h (using_struct_return): Accommodate declaration.
+ * alpha-tdep.c (alpha_return_value): Add func_type argument.
+ * amd64-tdep.c (amd64_return_value): Ditto.
+ * arm-tdep.c (arm_return_value): Ditto.
+ * avr-tdep.c (avr_return_value): Ditto.
+ * cris-tdep.c (cris_return_value): Ditto.
+ * frv-tdep.c (frv_return_value): Ditto.
+ * h8300-tdep.c (h8300_return_value): Ditto.
+ (h8300h_return_value): Ditto.
+ * hppa-tdep.c (hppa32_return_value): Ditto.
+ (hppa64_return_value): Ditto.
+ * i386-tdep.c (i386_return_value): Ditto.
+ * ia64-tdep.c (ia64_return_value): Ditto.
+ * iq2000-tdep.c (iq2000_return_value): Ditto.
+ * m32c-tdep.c (m32c_return_value): Ditto.
+ * m32r-tdep.c (m32r_return_value): Ditto.
+ * m68hc11-tdep.c (m68hc11_return_value): Ditto.
+ * m68k-tdep.c (m68k_return_value): Ditto.
+ (m68k_svr4_return_value): Ditto.
+ * m88k-tdep.c (m88k_return_value): Ditto.
+ * mep-tdep.c (mep_return_value): Ditto.
+ * mips-tdep.c (mips_eabi_return_value): Ditto.
+ (mips_n32n64_return_value): Ditto.
+ (mips_o32_return_value): Ditto.
+ (mips_o64_return_value): Ditto.
+ * mn10300-tdep.c (mn10300_return_value): Ditto.
+ * mt-tdep.c (mt_return_value): Ditto.
+ * ppc-linux-tdep.c (ppc_linux_return_value): Ditto.
+ * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto.
+ (ppc_sysv_abi_broken_return_value): Ditto.
+ (ppc64_sysv_abi_return_value): Ditto.
+ * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
+ (ppc_sysv_abi_broken_return_value): Ditto.
+ (ppc64_sysv_abi_return_value): Ditto.
+ * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
+ * rs6000-tdep.c (rs6000_return_value): Ditto.
+ * s390-tdep.c (s390_return_value): Ditto.
+ * score-tdep.c (score_return_value): Ditto.
+ * sh-tdep.c (sh_return_value_nofpu): Ditto.
+ (sh_return_value_fpu): Ditto.
+ * sh64-tdep.c (sh64_return_value): Ditto.
+ * sparc-tdep.c (sparc32_return_value): Ditto.
+ * sparc64-tdep.c (sparc64_return_value): Ditto.
+ * spu-tdep.c (spu_return_value): Ditto.
+ * v850-tdep.c (v850_return_value): Ditto.
+ * vax-tdep.c (vax_return_value): Ditto.
+ * xstormy16-tdep.c (xstormy16_return_value): Ditto.
+ * xtensa-tdep.c (xtensa_return_value): Ditto.
+
+ * gdbtypes.h (struct type): Add calling_convention member.
+ * dwarf2read.c (read_subroutine_type): Add calling convention read
+ from DW_AT_calling_convention attribute to function type.
+
+2008-04-22 Markus Deuling <deuling@de.ibm.com>
+
+ * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for
+ multi_f77_subscript to support values from registers.
+ * valarith.c (value_subscripted_rvalue): Remove prototype and static.
+ * value.h (value_subscripted_rvalue): Add prototype.
+
+ * f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION.
+ Fix output.
+ * f-valprint.c (f_val_print): Likewise.
+
+2008-04-21 Craig Silverstein <csilvers@google.com>
+
+ * dwarf2read.c (zlib_decompress_section): Define abfd in the
+ !HAVE_ZLIB_H case.
+
+2008-04-21 Pedro Alves <pedro@codesourcery.com>
+
+ * symfile.c (syms_from_objfile): Don't warn if lowest loadable
+ section is not a code section.
+
+2008-04-19 Craig Silverstein <csilvers@google.com>
+
+ * NEWS: Add information on compressed debug sections.
+
+2008-04-19 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-cmd-var.c (varobj_update_one): Print new
+ value for variable objects that changed type.
+
+2008-04-19 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (varobj_invalidate): Don't touch floating
+ varobjs.
+
+2008-04-19 Mark Kettenis <kettenis@gnu.org>
+
+ * symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
+ (multiple_symbols_cancel): Remove extra const.
+ * symtab.h: Likewise.
+
+2008-04-19 Nick Roberts <nickrob@snap.net.nz>
+
+ * interps.c (top_level_interpreter): Rename static variable...
+ (top_level_interpreter_ptr): ...to this.
+ (top_level_interpreter): New function.
+
+ * interps.h: New extern for top_level_interpreter.
+
+ * linespec.c: Include interps.h and mi/mi-cmds.h.
+ (decode_line_2): When using MI, always set all breakpoints in menu.
+
+ * Makefile.in (linespec.o, mi-interp.o): Add dependencies.
+
+2008-04-18 Craig Silverstein <csilvers@google.com>
+
+ * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
+ * config.in, configure: Regenerate.
+ * dwarf2read.c: Include zlib.h if present.
+ Modified *_SECTION macros.
+ (section_is_p): New.
+ (dwarf2_locate_sections): Use section_is_p instead of strcmp
+ (dwarf2_resize_section): New.
+ to determine whether a given section has a given name.
+ (zlib_decompress_section): New.
+ (dwarf2_read_section): Read the compressed section if present
+ in the binary.
+ * MAINTAINERS: Added myself to section Write After Approval.
+
+2008-04-18 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * defs.h (exec_set_section_offsets): Remove prototype.
+ * exec.c (exec_set_section_offsets): Remove function.
+
+2008-04-18 Joel Brobecker <brobecker@adacore.com>
+
+ * stabsread.c (cleanup_undefined_types_1): Add instance flags check
+ in the search for the matching symbol.
+
+2008-04-17 Marc Khouzam <marc.khouzam@ericsson.com>
+
+ * breakpoint.c (update_watchpoint): Always reparse
+ condition.
+
+2008-04-17 Joel Brobecker <brobecker@adacore.com>
+
+ * breakpoint.c (print_one_breakpoint_location): Make sure to print
+ the breakpoint address only once.
+
+2008-04-17 Dennis Roberts <dennis.roberts@sunquestinfo.com>
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture,
+ rather than a hard-coded architecture, for xcoff executables.
+
2008-04-17 Doug Evans <dje@google.com>
* buildsym.c (watch_main_source_file_lossage): New fn.