Support displaced stepping in aarch64-linux
[binutils-gdb.git] / gdb / ChangeLog
index 5085c832fb949858876d83d1eecc1ef2f20bd28b..45a85e50d5264872b8495142f777bf0b995e08f0 100644 (file)
@@ -1,3 +1,117 @@
+2015-10-12  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-linux-tdep.c: Include arch-utils.h.
+       (aarch64_linux_init_abi): Call set_gdbarch_max_insn_length,
+       set_gdbarch_displaced_step_copy_insn,
+       set_gdbarch_displaced_step_fixup,
+       set_gdbarch_displaced_step_free_closure,
+       set_gdbarch_displaced_step_location,
+       and set_gdbarch_displaced_step_hw_singlestep.
+       * aarch64-tdep.c (struct displaced_step_closure): New.
+       (struct aarch64_displaced_step_data): New.
+       (aarch64_displaced_step_b): New function.
+       (aarch64_displaced_step_b_cond): Likewise.
+       (aarch64_register): Likewise.
+       (aarch64_displaced_step_cb): Likewise.
+       (aarch64_displaced_step_tb): Likewise.
+       (aarch64_displaced_step_adr): Likewise.
+       (aarch64_displaced_step_ldr_literal): Likewise.
+       (aarch64_displaced_step_others): Likewise.
+       (aarch64_displaced_step_copy_insn): Likewise.
+       (aarch64_displaced_step_fixup): Likewise.
+       (aarch64_displaced_step_hw_singlestep): Likewise.
+       * aarch64-tdep.h (DISPLACED_MODIFIED_INSNS): New macro.
+       (aarch64_displaced_step_copy_insn): Declare.
+       (aarch64_displaced_step_fixup): Declare.
+       (aarch64_displaced_step_hw_singlestep): Declare.
+       * arch/aarch64-insn.c (emit_insn): Moved from
+       gdbserver/linux-aarch64-low.c.
+       (emit_load_store): Likewise.
+       * arch/aarch64-insn.h (enum aarch64_opcodes): Moved from
+       gdbserver/linux-aarch64-low.c.
+       (struct aarch64_register): Likewise.
+       (struct aarch64_memory_operand): Likewise.
+       (ENCODE): Likewise.
+       (can_encode_int32): New macro.
+       (emit_b, emit_bcond, emit_cb, emit_ldr, emit_ldrsw): Likewise.
+       (emit_tb, emit_nop): Likewise.
+       (emit_insn): Declare.
+       (emit_load_store): Declare.
+
+2015-10-12  Yao Qi  <yao.qi@linaro.org>
+
+       * arch/aarch64-insn.c (aarch64_decode_ldr_literal): Moved from
+       gdbserver/linux-aarch64-low.c.
+       (aarch64_relocate_instruction): Likewise.
+       * arch/aarch64-insn.h (aarch64_decode_ldr_literal): Declare.
+       (struct aarch64_insn_data): Moved from
+       gdbserver/linux-aarch64-low.c.
+       (struct aarch64_insn_visitor): Likewise.
+       (aarch64_relocate_instruction): Declare.
+
+2015-10-12  Pierre-Marie de Rodat  <derodat@adacore.com>
+
+       * eval.c (evaluate_subexp_standard) <STRUCTOP_STRUCT>: If
+       EVAL_AVOID_SIDE_EFFECTS mode, forward the VALUE_LVAL attribute
+       to the returned value.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_unpack_from_contents): Add guard that unpacked
+       is large enough for BIT_SIZE.  Update function comment.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_value_primitive_packed_val): Move
+       src_len variable to local block where used.  Override
+       BIT_SIZE if bigger than size of resolved type.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * gdbtypes.h (is_scalar_type): Add extern declaration.
+       * gdbtypes.c (is_scalar_type): Make non-static.
+       * ada-lang.c (ada_value_primitive_packed_val): Use is_scalar_type
+       to compute IS_SCALAR instead of doing it ourselves.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_value_primitive_packed_val): Rework handling
+       of case where TYPE is dynamic.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_unpack_from_contents): New function,
+       extracted from ada_value_primitive_packed_val.
+       (ada_value_primitive_packed_val): Replace extracted out code
+       by call to ada_unpack_from_contents.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_value_primitive_packed_val): Reorder local
+       variable declarations.
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_value_primitive_packed_val): Change the type
+       of local variables src and unpacked to "gdb_type *" instead of
+       "unsigned char *".
+
+2015-10-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_value_primitive_packed_val): Make the name
+       of various local variables more explicit and consistent.
+       No real code change otherwise.
+
+2015-10-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * i386-tdep.h (struct gdbarch_tdep): Change type of
+       register_reggroup_p to gdbarch_register_reggroup_p_ftype.
+
+2015-10-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * cris-tdep.c (struct instruction_environment): Change type of
+       byte_order to enum bfd_endian.
+
 2015-10-09  Simon Marchi  <simon.marchi@ericsson.com>
 
        * arm-linux-tdep.c (arm_canonicalize_syscall): Add