+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