+2008-05-02 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * linespec.c: Include "target.h".
+ (minsym_found): Handle minimal symbols pointing to function
+ descriptors. Use find_function_start_pc.
+ * minsyms.c (msymbol_objfile): New function.
+ * parse.c (write_exp_msymbol): Handle minimal symbols pointing
+ to function descriptors.
+ * symtab.c (fixup_section): Only use minimal symbol at the same
+ address to determine section of a symbol.
+ (find_function_start_pc): New function.
+ (find_function_start_sal): Use it.
+ * symtab.h (msymbol_objfile): Add prototype.
+ (find_function_start_pc): Likewise.
+ * value.c: Include "objfiles.h".
+ (value_fn_field): Handle minimal symbols pointing to function
+ descriptors.
+ * Makefile.in (linespec.o): Update dependencies.
+ (value.o): Likewise.
+
+2008-05-02 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (unwrap_value): Handle the case where the "F" field
+ inside a PAD type is a bitfield.
+
+2008-05-02 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle
+ TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT.
+ Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
+ Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC.
+ Allow typedefs when checking for function pointer arguments.
+ Right-align small structs passed on the stack.
+ (ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and
+ TYPE_CODE_CHAR the same as TYPE_CODE_INT.
+ Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * Makefile.in (arm-tdep.o): Update.
+ * arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
+ (struct arm_per_objfile, arm_compare_mapping_symbols): New.
+ (arm_pc_is_thumb): Use mapping symbols.
+ (arm_objfile_data_cleanup, arm_record_special_symbol): New.
+ (arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
+ (_initialize_arm_tdep): Initialize arm_objfile_data_key.
+ * elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
+ * gdbarch.sh: Add record_special_symbol.
+ * gdbarch.c, gdbarch.h: Regenerated.
+ * objfiles.c (struct objfile_data): Add cleanup member.
+ (register_objfile_data_with_cleanup): New function, from
+ register_objfile_data.
+ (register_objfile_data): Use it.
+ (objfile_free_data): Call clear_objfile_data.
+ (clear_objfile_data): Call cleanup functions.
+ * objfiles.h (register_objfile_data_with_cleanup): Declare.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * objfiles.c (init_entry_point_info): Handle shared libraries.
+
+2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
+ lowest_pc.
+
+2008-05-02 Jim Blandy <jimb@codesourcery.com>
+ Pedro Alves <pedro@codesourcery.com>
+
+ Implement displaced stepping.
+
+ * gdbarch.sh (max_insn_length): New 'variable'.
+ (displaced_step_copy, displaced_step_fixup)
+ (displaced_step_free_closure, displaced_step_location): New
+ functions.
+ (struct displaced_step_closure): Add forward declaration.
+ * gdbarch.c, gdbarch.h: Regenerated.
+
+ * arch-utils.c: #include "objfiles.h".
+ (simple_displaced_step_copy_insn)
+ (simple_displaced_step_free_closure)
+ (displaced_step_at_entry_point): New functions.
+ * arch-utils.h (simple_displaced_step_copy_insn)
+ (simple_displaced_step_free_closure)
+ (displaced_step_at_entry_point): New prototypes.
+
+ * i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
+ (I386_MAX_MATCHED_INSN_LEN): ... this.
+ (i386_absolute_jmp_p, i386_absolute_call_p)
+ (i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
+ (i386_displaced_step_fixup): New functions.
+ (struct i386_insn, i386_match_insn): Update.
+ (i386_gdbarch_init): Set gdbarch_max_insn_length.
+ * i386-tdep.h (I386_MAX_INSN_LEN): New.
+ (i386_displaced_step_fixup): New prototype.
+ * i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
+ Register gdbarch_displaced_step_copy,
+ gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
+ and gdbarch_displaced_step_location functions.
+
+ * infrun.c (debug_displaced): New variable.
+ (show_debug_displaced): New function.
+ (struct displaced_step_request): New struct.
+ (displaced_step_request_queue, displaced_step_ptid)
+ (displaced_step_gdbarch, displaced_step_closure)
+ (displaced_step_original, displaced_step_copy)
+ (displaced_step_saved_copy, can_use_displaced_stepping): New
+ variables.
+ (show_can_use_displaced_stepping, use_displaced_stepping)
+ (displaced_step_clear, cleanup_displaced_step_closure)
+ (displaced_step_dump_bytes, displaced_step_prepare)
+ (displaced_step_clear_cleanup, write_memory_ptid)
+ (displaced_step_fixup): New functions.
+ (resume): Call displaced_step_prepare.
+ (proceed): Call read_pc once, and remember the value. If using
+ displaced stepping, don't remove breakpoints.
+ (handle_inferior_event): Call displaced_step_fixup. Add some
+ debugging output. When we try to step over a breakpoint, but get
+ a signal to deliver to the thread instead, ensure the step-resume
+ breakpoint is actually inserted. If a thread hop is needed, and
+ displaced stepping is enabled, don't remove breakpoints.
+ (init_wait_for_inferior): Call displaced_step_clear.
+ (_initialize_infrun): Add "set debug displaced" command. Add
+ "maint set can-use-displaced-stepping" command. Clear
+ displaced_step_ptid.
+ * inferior.h (debug_displaced): Declare variable.
+ (displaced_step_dump_bytes): Declare function.
+
+ * Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
+ dependencies.
+
2008-05-02 Daniel Jacobowitz <dan@codesourcery.com>
* arm-tdep.c (arm_mode_strings, arm_fallback_mode_string)