+2007-12-05 Jim Blandy <jimb@codesourcery.com>
+
+ * NEWS: Mention support for non-contiguous lexical blocks and
+ function bodies.
+
+2007-12-06 Markus Deuling <deuling@de.ibm.com>
+
+ * gdbarch.sh (stab_reg_to_regnum, dwarf_reg_to_regnum)
+ ( dwarf2_reg_to_regnum, sdb_reg_to_regnum, ecoff_reg_to_regnum): Add
+ gdbarch as parameter.
+ * gdbarch.{c,h}: Regenerate.
+
+ * xtensa-tdep.c (xtensa_reg_to_regnum): Add gdbarch as parameter.
+ Replace current_gdbarch by gdbarch.
+ * s390-tdep.c (s390_dwarf_reg_to_regnum): Likewise.
+ * rs6000-tdep.c (rs6000_stab_reg_to_regnum)
+ (rs6000_dwarf2_reg_to_regnum): Likewise.
+ * mips-tdep.c (mips_stab_reg_to_regnum)
+ (mips_dwarf_dwarf2_ecoff_reg_to_regnum): Likewise.
+ * mep-tdep.c (mep_debug_reg_to_regnum): Likewise.
+ * m32c-tdep.c (m32c_debug_info_reg_to_regnum): Likewise.
+ * i386-tdep.c (i386_dbx_reg_to_regnum)
+ (i386_svr4_reg_to_regnum): Likewise
+ * h8300-tdep.c (h8300s_dbg_reg_to_regnum)
+ (h8300_dbg_reg_to_regnum): Likewise.
+ * amd64-tdep.c (amd64_dwarf_reg_to_regnum): Likewise.
+ * arch-utils.c (no_op_reg_to_regnum): Likewise.
+ * arch-utils.h (no_op_reg_to_regnum): Likewise.
+ * arm-tdep.c (arm_dwarf_reg_to_regnum): Likewise.
+ * cris-tdep.c (cris_dwarf2_reg_to_regnum): Likewise.
+ * hppa-tdep.c (hppa64_dwarf_reg_to_regnum): Likewise.
+ * ia64-tdep.c (ia64_dwarf_reg_to_regnum): Likewise.
+ * m68k-tdep.c (m68k_dwarf_reg_to_regnum): Likewise.
+
+2007-12-06 Vladimir Prus <vladimir@codesourcery.com>
+
+ Localize infrun use of remove_breakpoints.
+ * infrun.c (handle_inferior_event): Remove
+ calls to remove_breakpoints, except where needed to
+ communicate change of breakpoint locations to inferior.
+ (keep_going): If steppping over breakpoint, remove
+ breakpoints.
+
+2007-12-06 Vladimir Prus <vladimir@codesourcery.com>
+
+ Clarify infrun variable naming.
+ * infrun.c (trap_expected): Rename
+ to stepping_over_breakpoint. Document.
+ (stepping_past_breakpoint): Remove.
+ (stepping_past_breakpoint_ptdi): Renamed
+ to deferred_step_ptid.
+ (struct execution_control_state): Rename
+ the another_trap field to stepping_over_breakpoint.
+ (struct inferior_status): Rename the trap_expected
+ field to stepping_over_breakpoint.
+ (clear_proceed_status, proceed)
+ (init_execution_control_state, context_switch)
+ (handle_inferior_event, currently_stepping)
+ (keep_going, save_inferior_status)
+ (restore_inferior_status, prepare_to_proceed): Adjust.
+ * gdbthread.h (struct thread_info): Rename the
+ trap_expected field to stepping_over_breakpoint.
+ * thread.c (load_infrun_state, save_infrun_state):
+ Adjust.
+
+2007-12-06 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * win32-nat.c: Allow compilation if CORE_ADDR is 8 byte long.
+ Add "gdb_stdint.h" dependency required for uintptr_t type use.
+ (handle_output_debug_string): Use uintptr_t typecast.
+ (handle_exception): Ditto.
+ (win32_xfer_memory): Ditto.
+ * Makefile.in (win32-nat.o): Add dependency to gdb_stdint header.
+
+2007-12-04 Jim Blandy <jimb@codesourcery.com>
+
+ Support lexical blocks and function bodies that occupy
+ non-contiguous address ranges.
+ * addrmap.c, addrmap.h: New files.
+ * block.h (struct addrmap): New forward declaration.
+ (struct blockvector): New member, 'map'.
+ (BLOCKVECTOR_MAP): New accessor macro.
+ * block.c: #include "addrmap.h"
+ (blockvector_for_pc_sect): If the blockvector we've found has
+ an address map, use it instead of searching the blocks.
+ * buildsym.c: #include "addrmap.h"
+ (pending_addrmap_obstack, pending_addrmap_interesting): New static
+ variables.
+ (really_free_pendings): If we have a pending addrmap, free it too.
+ (record_block_range): New function.
+ (make_blockvector): If we have an interesting pending addrmap,
+ record it in the new blockvector.
+ (start_symtab, buildsym_init): Assert that there is no pending
+ addrmap now; we should have cleaned up any addrmaps we'd built
+ previously.
+ (end_symtab): If there is a pending addrmap left over that didn't
+ get included in the blockvector, free it.
+ * buildsym.h (struct addrmap): New forward declaration.
+ (record_block_range): New prototype.
+ * objfiles.c: #include "addrmap.h".
+ (objfile_relocate): Relocate the blockvector's address map, if
+ present.
+ * dwarf2read.c (dwarf2_record_block_ranges): New function.
+ (read_func_scope, read_lexical_block_scope): Call it.
+ * Makefile.in (SFILES): Add addrmap.c.
+ (addrmap_h): New header dependency variable.
+ (COMMON_OBS): Add addrmap.o.
+ (addrmap.o): New rule.l
+ (block.o, objfiles.o, buildsym.o): Depend on $(addrmap_h).
+
+ * block.c (blockvector_for_pc, blockvector_for_pc_sect): Return a
+ pointer to the block, not its index in the blockvector.
+ (block_for_pc_sect): Use the returned block, instead of looking it
+ up ourselves.
+ * block.h (blockvector_for_pc, blockvector_for_pc_sect): Update
+ declarations.
+ * breakpoint.c (resolve_sal_pc): Use returned block, instead of
+ looking it up ourselves.
+ * stack.c (print_frame_label_vars): Disable function, which
+ depends on the block's index.
+
+ * buildsym.c (finish_block): Return the block we've built.
+ * buildsym.h (finish_block): Update prototype.
+
+ * defs.h (CORE_ADDR_MAX): New constant.
+
+2007-12-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * coffread.c (decode_type): Use builtin_type_int32 instead
+ of FT_INTEGER fundamental type for array range index type.
+ (decode_base_type): Use builtin types of current_gdbarch
+ instead of fundamental types.
+
+ * dwarf2read.c (struct dwarf2_cu): Remove ftypes member.
+ (read_file_scope): Do not initialize ftypes member.
+ (dwarf_base_type, dwarf2_fundamental_types): Remove functions.
+ (read_array_type): Use builtin_type_int32 instead of FT_INTEGER
+ fundamental type for array range index type.
+ (read_tag_string_type): Likewise for string range index type.
+ Also, do not overwrite FT_CHAR type with new string type.
+ (read_base_type): If DW_AT_name is missing, create unnamed type
+ with given properties instead of looking for a fundamental type.
+ Create new types as TYPE_TARGET_TYPE for DW_ATE_address and
+ DW_ATE_complex_float types.
+ (read_subrange_type): Create new type to represent missing
+ DW_AT_type instead of looking for a fundamental type.
+ (die_type): Use builtin type to represent "void" instead of
+ looking for a fundamental type.
+
+ * stabsread.c (define_symbol): Use builtin types to represent
+ 'r' and 'i' floating-point and integer constants.
+
+ * gdbtypes.c (lookup_fundamental_type): Remove.
+ * gdbtypes.h (lookup_fundamental_type): Remove prototype.
+ (FT_VOID, FT_BOOLEAN, FT_CHAR, FT_SIGNED_CHAR, FT_UNSIGNED_CHAR,
+ FT_SHORT, FT_SIGNED_SHORT, FT_UNSIGNED_SHORT, FT_INTEGER,
+ FT_SIGNED_INTEGER, FT_UNSIGNED_INTEGER, FT_LONG, FT_SIGNED_LONG,
+ FT_UNSIGNED_LONG, FT_LONG_LONG, FT_SIGNED_LONG_LONG,
+ FT_UNSIGNED_LONG_LONG, FT_FLOAT, FT_DBL_PREC_FLOAT, FT_EXT_PREC_FLOAT,
+ FT_COMPLEX, FT_DBL_PREC_COMPLEX, FT_EXT_PREC_COMPLEX, FT_STRING,
+ FT_FIXED_DECIMAL, FT_FLOAT_DECIMAL, FT_BYTE, FT_UNSIGNED_BYTE,
+ FT_TEMPLATE_ARG, FT_DECFLOAT, FT_DBL_PREC_DECFLOAT,
+ FT_EXT_PREC_DECFLOAT, FT_NUM_MEMBERS): Remove macros.
+ * objfiles.c (struct objfile): Remove fundamental_types member.
+ * symfile.c (reread_symbols): Do not clear fundamental_types.
+
+ * language.h (struct language_defn): Remove la_fund_type member.
+ (create_fundamental_type): Remove.
+ * language.c (unk_lang_create_fundamental_type): Remove.
+ (unknown_language_defn, auto_language_defn,
+ local_language_defn): Adapt initializer.
+ * ada-lang.c (ada_create_fundamental_type): Remove.
+ (ada_language_defn): Adapt initializer.
+ * c-lang.h (c_create_fundamental_type): Remove prototype.
+ * c-lang.c (c_create_fundamental_type): Remove.
+ (c_language_defn, cplus_language_defn, asm_language_defn,
+ minimal_language_defn): Adapt initializer.
+ * f-lang.c (f_create_fundamental_type): Remove.
+ (f_language_defn): Adapt initializer.
+ * jv-lang.c (java_create_fundamental_type): Remove.
+ (java_language_defn): Adapt initializer.
+ * m2-lang.c (m2_create_fundamental_type): Remove.
+ (m2_language_defn): Adapt initializer.
+ * objc-lang.c (objc_create_fundamental_type): Remove.
+ (objc_language_defn): Adapt initializer.
+ * p-lang.h (pascal_create_fundamental_type): Remove prototype.
+ * p-lang.c (pascal_create_fundamental_type): Remove.
+ (pascal_language_defn): Adapt initializer.
+ * scm-lang.c (scm_language_defn): Adapt initializer.
+
+2007-12-04 Maciej W. Rozycki <macro@mips.com>
+
+ * features/mips-cpu.xml: Specify "regnum" for "r0" explicitly.
+ * features/mips64-cpu.xml: Likewise.
+ * features/mips-fpu.xml: Specify "regnum" for "f0" explicitly.
+ * features/mips64-fpu.xml: Likewise.
+ * features/mips-linux.c: Regenerate.
+ * features/mips64-linux.c: Regenerate.
+
+2007-12-04 Maciej W. Rozycki <macro@mips.com>
+
+ * target.h (target_find_new_threads): Fix definition.
+
+2007-12-02 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * win32-nat.c (win32_resume): Set the trace bit
+ in the thread identified by inferior_ptid.
+
+
+2007-12-02 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * win32-nat.c (open_process_used): New static variable.
+ (win32_init_thread_list): Remove call to CloseHandle for thread.
+ (win32_delete_thread): Ditto.
+ (fake_create_process): Set open_process_used if OpenProcess call is
+ successful.
+ (get_win32_debug_event): Do not close process handle.
+ (do_initial_win32_stuff): Set open_process_used to zero.
+ (win32_mourn_inferior): Call CloseHandle for current_process_handle if
+ open_process_used is set.
+ (win32_kill_inferior): Do not close process and main_thread handles.
+
+2007-11-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * remote.c (remote_cmdlist): New variable.
+ (PACKET_vFile_open, PACKET_vFile_pread, PACKET_vFile_pwrite)
+ (PACKET_vFile_close, PACKET_vFile_unlink): New constants.
+ (remote_buffer_add_string, remote_buffer_add_bytes)
+ (remote_buffer_add_int, remote_hostio_parse_result)
+ (remote_hostio_send_command, remote_hostio_open, remote_hostio_pwrite)
+ (remote_hostio_pread, remote_hostio_close, remote_hostio_unlink)
+ (remote_fileio_errno_to_host, remote_hostio_error, fclose_cleanup)
+ (remote_hostio_close_cleanup, remote_file_put, remote_file_get)
+ (remote_file_delete, remote_put_command, remote_get_command)
+ (remote_delete_command, remote_command): New functions.
+ (_initialize_remote): Register new packets and commands.
+ * Makefile.in (gdb_fileio_h): New variable.
+ (remote.o): Update.
+ (SUBDIR_MI_OBS): Add mi-cmd-target.o.
+ (SUBDIR_MI_SRCS): Add mi/mi-cmd-target.c.
+ (mi-cmd-target.o): New rule.
+ * mi/mi-cmd-target.c: New file.
+ * mi/mi-cmds.c (mi_cmds): Add target-file-delete, target-file-get,
+ and target-file-put.
+ * mi/mi-cmds.h (mi_cmd_target_file_get, mi_cmd_target_file_put)
+ (mi_cmd_target_file_delete): Declare.
+ * remote.h (remote_file_put, remote_file_get, remote_file_delete):
+ Declare.
+ * NEWS: Describe new file transfer support.
+
+2007-11-30 Vladimir Prus <vladimir@codesourcery.com>
+
+ * infrun.c (handle_inferior_event): Don't
+ ignore beakpoints if trap_expected is set.
+
+2007-11-30 Vladimir Prus <vladimir@codesourcery.com>
+
+ Make insert_breakpoints return void.
+ * breakpoint.h (insert_breakpoints): Change
+ return type to void.
+ * breakpoint.c (insert_breakpoints): Change
+ return type to void. Rename local return_val
+ variable to error.
+ * infrun.c (keep_going): Instead of checking
+ return value from insert_breakpoints, catch exception.
+
+2007-11-29 Vladimir Prus <vladimir@codesourcery.com>
+
+ Stop infrun from tracking breakpoint insertion status.
+
+ The checks of breakpoints_inserted before calling
+ remove_breakpoints are removed, as remove_breakpoint
+ won't touch uninserted breakpoints. In a number of places,
+ we're interested if a breakpoint is inserted at particular
+ PC, and we now use breakpoint_inserted_here_p. In a few
+ places, insert_breakpoints can be called unconditionally,
+ since it won't try to insert already inserted breakpoint.
+
+ * breakpoint.h (regular_breakpoint_inserted_here_p): New
+ declaration.
+ * breakpoint.c (regular_breakpoint_inserted_here_p): New.
+ (breakpoint_inserted_here_p): Use
+ regular_breakpoint_inserted_here_p.
+ * infrun.c (breakpoints_inserted): Remove.
+ (resume): Don't check for breakpoints_inserted before
+ remove_hw_watchpoints. Use breakpoint_inserted_here_p.
+ (proceed, init_wait_for_inferior): Don't set breakpoints_inserted.
+ (handle_inferior_event): Don't use breakpoints_inserted.
+ Use breakpoints_meant_to_be_inserted and
+ breakpoints_inserted_here_p.
+ (insert_step_resume_breakpoint_at_sal, keep_going): Use
+ breakpoints_meant_to_be_inserted. Don't set breakpoints_inserted.
+ (normal_stop): Don't check for breakpoints_inserted. Don't
+ set breakpoints_inserted.
+ (keep_going): Don't check for breakpoints_inserted.
+ (insert_step_resume_breakpoint_at_sal): Don't insert
+ breakpoints
+
+2007-11-28 Jim Blandy <jimb@codesourcery.com>
+
+ * breakpoint.c (watch_command_1): When the watchpoint isn't local
+ to any frame, initialize watchpoint_frame using null_frame_id, not
+ a memset.
+
+2007-11-28 Vladimir Prus <vladimir@codesourcery.com>
+
+ * infrun.c (resume): Set right thread even if
+ stepping over breakpoint using software single step.
+
+2007-11-28 Nick Roberts <nickrob@snap.net.nz>
+
+ * mi/mi-cmd-var.c (print_varobj): Revert change from 2007-08-31.
+ (mi_print_value_p): Guard against type = NULL.
+
+2007-11-27 Thiago Jung Bauermann <bauerman@br.ibm.com>
+
+ * dfp.c (decimal_from_string): Remove superfluous newline from
+ error string.
+ (decimal_to_string): Likewise.
+ * printcmd.c (printf_command): Change string buffer to use
+ MAX_DECIMAL_STRING constant.
+ * value.c (value_from_decfloat): Likewise.
+
+2007-11-27 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * Makefile.in (ALL_TARGET_OBS): Remove object files that require
+ 64-bit CORE_ADDR and BFD support, move them to ...
+ (ALL_64_TARGET_OBS): ... this new variable.
+ * configure.ac: Check for --enable-64-bit-bfd option. Only add
+ 64-bit targets with --enable-targets=all if BFD supports 64-bit.
+ * configure: Regenerate.
+
+ * i386-cygwin-tdep.c (i386_cygwin_osabi_sniffer): Do not claim
+ all elf32-i386 executables, only cygwin core files.
+
+2007-11-25 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (dwarf2_get_pc_bounds): Moved the `DW_AT_ranges' parsing
+ code with its variables OBJFILE, CU_HEADER and OBFD into ...
+ (dwarf2_ranges_read): ... a new function.
+ (read_partial_die): Implemented the parsing of `DW_AT_ranges'.
+
+2007-11-24 Pedro Alves <pedro_alves@portugalmail.pt>
+
+ * win32-nat.c (DR6_CLEAR_VALUE): New define.
+ (thread_info_struct): Rename suspend_count to suspended, to be
+ used as a flag.
+ (thread_rec): Only suspend the thread if it wasn't suspended by
+ gdb before. Warn if suspending failed.
+ (win32_add_thread): Set Dr6 to DR6_CLEAR_VALUE.
+ (win32_continue): Set Dr6 to DR6_CLEAR_VALUE. Update usage of the
+ `suspended' flag. Do ContinueDebugEvent after resuming the
+ suspended threads, not before. Set threads' contexts before
+ resuming them, not after.
+ (win32_resume): Set Dr6 to DR6_CLEAR_VALUE.
+
+2007-11-23 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.c (insert_breakpoints)
+ (insert_bp_location): Remove stale comments.
+
+2007-11-23 Maciej W. Rozycki <macro@mips.com>
+
+ * mips-linux-tdep.h: Fix some formatting.
+
2007-11-21 Markus Deuling <deuling@de.ibm.com>
* stack.c (print_args_stub): Use get_frame_arch to get at the current