+2009-08-05 Tom Tromey <tromey@redhat.com>
+
+ * spu-tdep.h (SPUADDR_SPU): Cast result to int.
+
+2009-08-04 Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * objfiles.h (OBJF_KEEPBFD): Delete.
+ (gdb_bfd_unref): New prototype.
+ * objfiles.c (gdb_bfd_unref): New function.
+ (free_objfile): Call gdb_bfd_unref.
+ * solib.c (free_so): Likewise.
+ (symbol_add_stub): Set refcount.
+
+2009-08-04 Hui Zhu <teawater@gmail.com>
+ Michael Snyder <msnyder@vmware.com>
+
+ * record.c (record_mem_entry): New field 'mem_entry_not_accessible'.
+ (record_arch_list_add_mem): Initialize 'mem_entry_not_accessible'.
+ (record_wait): Set 'mem_entry_not_accessible' flag if target
+ memory not readable. Don't try to change target memory if
+ 'mem_entry_not_accessible' is set.
+
+2009-08-03 Richard Guenther <rguenther@suse.de>
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix memory corruption on reread of file through a symbolic link.
+ * symfile.c (find_separate_debug_file): Initialize CANON_NAME earlier.
+ Allocate DEBUGFILE with length based on CANON_NAME. Free CANON_NAME on
+ all the return paths.
+
+2009-08-03 Jim Ingham <jingham@apple.com>
+ Vladimir Prus <vladimir@codesourcery.com>
+
+ Implement -break-commands
+
+ * breakpoint.c (get_breakpoint, breakpoint_set_commands): New.
+ (commands_command): Use breakpoint_set_commands.
+ * breakpoint.h (get_breakpoint, breakpoint_set_commands): Declare.
+
+ * mi/mi-cmds.h (mi_cmd_break_commands): New.
+ * mi/mi-cmds.c: Register -break-commands.
+ * mi/mi-cmd-break.c (mi_cmd_break_commands, mi_read_next_line)
+ (mi_command_line_array, mi_command_line_array_cnt)
+ (mi_command_line_array_ptr): New.
+
+2009-08-03 Jim Ingham <jingham@apple.com>
+ Vladimir Prus <vladimir@codesourcery.com>
+
+ Refactor reading of commands
+
+ * defs.h (read_command_lines_1): Declare.
+ * cli/cli-script.c (read_next_line): Only return string,
+ do not process.
+ (process_next_line): New, extracted from read_next_line.
+ (recurse_read_control_structure): Take a function pointer to the
+ read function.
+ (get_command_line) Pass the read_next_line as reader function
+ into recurse_read_control_structure.
+ (read_command_lines_1): New, extracted from...
+ (read_command_lines): ...here.
+
+2009-07-31 Kazu Hirata <kazu@codesourcery.com>
+
+ * procfs.c (proc_set_current_signal): Populate mysinfo before
+ copying it to arg.
+ (proc_clear_current_signal): Likewise.
+ (proc_set_watchpoint): Populate pwatch before copying it to arg.
+
+2009-07-31 Michael Snyder <msnyder@vmware.com>
+
+ * remote.c (store_register_using_P): Call putpkt and getpkt
+ directly instead of calling remote_send.
+ (store_registers_using_G): Ditto.
+ (fetch_register_using_p): Ditto.
+
+ * remote.c (store_register_using_P): Make error msg more verbose.
+ (store_registers_using_G): Ditto.
+ (fetch_register_using_p): Ditto.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c: Include "infcall.h".
+ (spu_address_class_type_flags): New function.
+ (spu_address_class_type_flags_to_name): Likewise.
+ (spu_address_class_name_to_type_flags): Likewise.
+ (spu_pointer_to_address): Handle __ea pointers.
+ (spu_auto_flush_cache_p): New static variable.
+ (spu_objfile_from_frame): New function.
+ (flush_ea_cache, spu_attach_normal_stop): Likewise.
+ (show_spu_auto_flush_cache): Likewise.
+ (spu_gdbarch_init): Install address class handlers.
+ (_initialize_spu_tdep): Attach to normal_stop observer.
+ Install "set spu auto-flush-cache" / "show spu auto-flush-cache"
+ commands.
+
+ * NEWS: Mention "set/show spu auto-flush-cache" commands.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * spu-tdep.c: Include "block.h".
+ (setspucmdlist, showspucmdlist): New static variables.
+ (spu_stop_on_load_p): Likewise.
+ (spu_catch_start): New function.
+ (show_spu_command, set_spu_command): New functions.
+ (show_spu_stop_on_load): Likewise.
+ (_initialize_spu_tdep): Attach spu_catch_start to new_objfile observer.
+ Install "set spu" / "show spu" prefix command handler.
+ Install "set spu stop-on-load" / "show spu stop-on-load" command.
+
+ * NEWS: Mention "set/show spu stop-on-load" commands.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-linux-tdep.c: Include "solib.h", "solist.h", "exceptions.h",
+ "arch-utils.h", and "spu-tdep.h".
+ (spu_context_objfile, spe_context_lm_addr, spe_context_offset):
+ New static variables.
+ (spe_context_cache_ptid, spe_context_cache_address): Likewise.
+ (ppc_linux_spe_context_lookup): New function.
+ (ppc_linux_spe_context_inferior_created): Likewise.
+ (ppc_linux_spe_context_solib_loaded): Likewise.
+ (ppc_linux_spe_context_solib_unloaded): Likewise.
+ (ppc_linux_spe_context): Likewise.
+ (struct ppu2spu_cache, struct ppu2spu_data): New data types.
+ (ppu2spu_prev_arch, ppu2spu_this_id, ppu2spu_prev_register,
+ ppu2spu_unwind_register, ppu2spu_sniffer,
+ ppu2spu_dealloc_cache): New functions.
+ (ppu2spu_unwind): New static variable.
+ (ppc_linux_init_abi): Install cross-architecture unwinder.
+ (_initialize_ppc_linux_tdep): Attach to observers.
+
+ * spu-tdep.c (struct spu2ppu_cache): New data type.
+ (spu2ppu_prev_arch, spu2ppu_this_id, spu2ppu_prev_register,
+ spu2ppu_sniffer, spu2ppu_dealloc_cache): New functions.
+ (spu2ppu_unwind): New static variable.
+ (spu_gdbarch_init): Install cross-architecture unwinder.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * target.h (enum strata): New value arch_stratum.
+ * target.c (target_require_runnable): Skip arch_stratum targets.
+
+ * configure.tgt (powerpc-*-linux* | powerpc64-*-linux*): Add
+ solib-spu.o and spu-multiarch.o to gdb_target_obs.
+ * Makefile.in (ALL_TARGET_OBS): Add solib-spu.o and spu-multiarch.o.
+ (ALLDEPFILES): Add solib-spu.c and spu-multiarch.c.
+
+ * solib-spu.c: New file.
+ * solib-spu.h: New file.
+ * spu-multiarch.c: New file.
+
+ * spu-tdep.h (SPUADDR, SPUADDR_SPU, SPUADDR_ADDR): New macros.
+
+ * spu-tdep.c (struct gdbarch_tdep): New member id.
+ (spu_gdbarch_id): New function.
+ (spu_lslr): New function.
+
+ (spu_address_to_pointer): New function.
+ (spu_pointer_to_address): Support SPU ID address encoding. Use
+ spu_gdbarch_id and spu_lslr.
+ (spu_integer_to_address): Likewise.
+ (spu_frame_unwind_cache): Update for encoded addresses.
+ (spu_unwind_pc, spu_unwind_sp): Likewise.
+ (spu_read_pc, spu_write_pc): Likewise.
+ (spu_push_dummy_call): Likewise.
+ (spu_software_single_step): Likewise.
+ (spu_get_longjmp_target): Likewise.
+ (spu_overlay_update_osect): Likewise.
+
+ (spu_dis_asm_print_address): New function.
+ (gdb_print_insn_spu): Likewise.
+
+ (spu_gdbarch_init): Store SPU ID in tdep structure.
+ Install spu_address_to_pointer and gdb_print_insn_spu.
+
+ * ppc-linux-tdep.c: Include "observer.h", "auxv.h", "elf/common.h"
+ and "solib-spu.h".
+ (ppc_linux_entry_point_addr): New static variable.
+ (ppc_linux_inferior_created): New function.
+ (ppc_linux_displaced_step_location): Likewise.
+ (ppc_linux_init_abi): Enable Cell/B.E. support if supported
+ by the target.
+ (_initialize_ppc_linux_tdep): Attach to inferior_created observer.
+
+ * NEWS: Mention multi-architecture and Cell/B.E. debugging
+ capabilities.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * linux-nat.c: Include <sys/vfs.h>.
+ (SPUFS_MAGIC): Define.
+ (spu_enumerate_spu_ids): New function.
+ (linux_proc_xfer_spu): New function.
+ (linux_xfer_partial): Handle TARGET_OBJECT_SPU.
+
+ (iterate_over_spus): New function.
+ (struct linux_spu_corefile_data): New data type.
+ (linux_spu_corefile_callback): New function.
+ (linux_spu_make_corefile_notes): New function.
+ (linux_nat_make_corefile_notes): Call it.
+
+ * corelow.c (struct spuid_list): New data type.
+ (add_to_spuid_list): New function.
+ (core_xfer_partial): Handle TARGET_OBJECT_SPU.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * features/Makefile: Allow sub-platform specific expedite settings.
+ (WHICH): Add rs6000/powerpc-cell32l and rs6000/powerpc-cell64l.
+ (rs6000/powerpc-cell32l-expedite): Define.
+ (rs6000/powerpc-cell64l-expedite): Likewise.
+ * features/rs6000/powerpc-cell32l.xml: New file.
+ * features/rs6000/powerpc-cell64l.xml: New file.
+ * features/rs6000/powerpc-cell32l.c: New generated file.
+ * features/rs6000/powerpc-cell64l.c: New generated file.
+
+ * regformats/rs6000/powerpc-cell32l.dat: New generated file.
+ * regformats/rs6000/powerpc-cell64l.dat: New generated file.
+
+ * config/djgpp/fnchange.lst: Add mappings for new files.
+
+ * ppc-linux-tdep.h (tdesc_powerpc_cell32l): Add prototype.
+ (tdesc_powerpc_cell64l): Likewise.
+ * ppc-linux-tdep.c: Include "features/rs6000/powerpc-cell32l.c"
+ and "features/rs6000/powerpc-cell64l.c".
+ (_initialize_ppc_linux_tdep): Initialize target descriptions.
+ (ppc_linux_spu_section): New function.
+ (ppc_linux_core_read_description): Detect Cell/B.E. core files.
+ * ppc-linux-nat.c (PPC_FEATURE_CELL): Define.
+ (ppc_linux_read_description): Detect Cell/B.E. architecture.
+
+ * rs6000-tdep.c (rs6000_gdbarch_init): Do not trust BFD wordsize
+ if exec file is not PowerPC architecture.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * features/gdb-target.dtd (target): Accept optional
+ <compatible> elements.
+ (compatible): Define element.
+
+ * target-descriptions.h (tdesc_compatible_p): New.
+ (tdesc_add_compatible): New.
+ * target-descriptions.c (arch_p): New VEC_P type.
+ (struct target_desc): New member compatible.
+ (free_target_description): Handle it.
+ (maint_print_c_tdesc_cmd): Likewise.
+ (tdesc_compatible_p): New function.
+ (tdesc_add_compatible): New function.
+
+ * xml-tdesc.c (tdesc_end_compatible): New function.
+ (target_children): Handle <compatible> element.
+
+ * arch-utils.c (choose_architecture_for_target): Accept target
+ description instead of BFD architecture as input. Query target
+ description for compatible architectures.
+ (gdbarch_info_fill): Update call.
+
+ * NEWS: Mention <compatible> element of target descriptions.
+
+2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * breakpoint.c (remove_breakpoints): If removing one breakpoint
+ location fails, still continue to remove other locations.
+ (remove_hw_watchpoints): Likewise.
+ (detach_breakpoints): Likewise.
+
2009-07-31 Ulrich Weigand <uweigand@de.ibm.com>
* breakpoint.h (enum enable_state): Add bp_startup_disabled.