Support displaced stepping in aarch64-linux
[binutils-gdb.git] / gdb / ChangeLog
index b6355e799b57f08842946c1e585dc8a6b7e67ad6..45a85e50d5264872b8495142f777bf0b995e08f0 100644 (file)
@@ -1,4 +1,252 @@
-2015-09-29  Kevin Buettner  <kevinb@redhat.com>
+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
+       enum gdb_syscall casts.
+
+2015-10-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * aarch64-tdep.c (stack_item_t): Change type of data to gdb_byte*.
+       * arm-tdep.c (struct stack_item): Likewise.
+       (push_stack_item): Add gdb_byte* cast.
+       * avr-tdep.c (struct stack_item): Change type of data to gdb_byte*.
+       (push_stack_item): Add gdb_byte* cast.
+       * cli/cli-dump.c (dump_memory_to_file): Change type of buf to gdb_byte*
+       and add cast.
+       * cris-tdep.c (struct stack_item): Change type of data to gdb_byte*.
+       (push_stack_item): Add gdb_byte* cast.
+       * gcore.c (gcore_copy_callback): Change type of memhunk to gdb_byte* and
+       add cast.
+       * gdbtypes.h (print_scalar_formatted): Change type of first parameter to
+       gdb_byte*.
+       * h8300-tdep.c (h8300_extract_return_value): Change type of valbuf to
+       gdb_byte* and remove unnecessary cast.
+       (h8300h_extract_return_value): Likewise.
+       (h8300_store_return_value): Change type of valbuf to gdb_byte*.
+       (h8300h_store_return_value): Likewise.
+       * iq2000-tdep.c (iq2000_extract_return_value): Change type of valbuf to
+       gdb_byte* and remove unnecessary cast.
+       * jit.c (jit_reader_try_read_symtab): Change type of gdb_mem to gdb_byte*
+       and add cast.
+       * m32r-tdep.c (m32r_store_return_value): Change type of valbuf to
+       gdb_byte* and remove unnecessary cast.
+       (m32r_extract_return_value): Change type of dst to gdb_byte* and remove
+       valbuf.
+       * mep-tdep.c (mep_pseudo_cr32_read): Change type of buf to gdb_byte*.
+       (mep_pseudo_cr64_read): Likewise.
+       (mep_pseudo_csr_write): Likewise.
+       (mep_pseudo_cr32_write): Likewise.
+       (mep_pseudo_cr64_write): Likewise.
+       * mi/mi-main.c (mi_cmd_data_write_memory): Change type of buffer to
+       gdb_byte* and add cast.
+       * moxie-tdep.c (moxie_store_return_value): Change type of valbuf to
+       gdb_byte* and remove unnecessary cast.
+       (moxie_extract_return_value): Change type of dst to gdb_byte* and remove
+       valbuf.
+       * p-valprint.c (print_scalar_formatted): Change type of valaddr to
+       gdb_byte*.
+       * printcmd.c (void): Likewise.
+       * python/py-inferior.c (infpy_read_memory): Change type of buffer to
+       gdb_byte* and add cast.
+       (infpy_write_memory): Likewise.
+       (infpy_search_memory): Likewise.
+       * regcache.c (regcache_raw_write_signed): Change type of buf to gdb_byte*
+       and add cast.
+       (regcache_raw_write_unsigned): Likewise.
+       (regcache_cooked_write_signed): Likewise.
+       (regcache_cooked_write_unsigned): Likewise.
+       * sh64-tdep.c (h64_extract_return_value): Change type of valbuf to
+       gdb_byte*.
+
+2015-10-09  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * fbsd-tdep.c (fbsd_collect_regset_section_cb): Add cast.
+       * linux-tdep.c (linux_collect_regset_section_cb_data): Likewise.
+
+2015-10-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * stack.c (print_stack_frame):
+       * utils.c (printchar): Fix typos in commentary.
+
+2015-10-08  Iain Buclaw  <ibuclaw@gdcproject.org>
+
+       * d-exp.y: (UnaryExpression): Support `type.sizeof' expressions.
+       (PostfixExpression): Support `expr.sizeof' expressions.
+       (PrimaryExpression): Support `typeof(expr)' expressions.
+
+2015-10-08  Maciej W. Rozycki  <macro@imgtec.com>
+
+       * MAINTAINERS: Update my email address.
+
+2015-10-08  Markus Metzger  <markus.t.metzger@intel.com>
+
+       * record-btrace.c (record_btrace_resume): Fix void return.
+
+2015-10-07  Yao Qi  <yao.qi@linaro.org>
+
+       * aarch64-tdep.c: Include opcode/aarch64.h.
+       (submask): Move it above.
+       (bit): Likewise.
+       (bits): Likewise.
+       (aarch64_software_single_step): Call aarch64_decode_insn.
+       Decode instruction by aarch64_inst instead of using
+       aarch64_decode_bcond and decode_masked_match.
+
+2015-10-06  Pitchumani Sivanupandi  <pitchumani.s@atmel.com>
+
+       * cli/cli-dump.c (restore_command): Parse load_offset (bias) as address
+       only when the file is binary.
+
+2015-10-02  James Bowman  <james.bowman@ftdichip.com>
+
+       * ft32-tdep.c (ft32_analyze_prologue): Add function prolog
+       subroutine handling.
+
+2015-10-01  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * common/vec.h (VEC_OP (T,cleanup)): Add pointer cast.
+
+2015-09-30  Doug Evans  <dje@google.com>
+
+       * dwarf2read.c (setup_type_unit_groups): Add comment.
+
+2015-09-30  Pedro Alves  <palves@redhat.com>
+
+       * linux-nat.c (linux_nat_always_non_stop_p): Always return 1.
+       * x86-linux-nat.c (x86_linux_always_non_stop_p): Delete.
+       (x86_linux_create_target): Don't install
+       x86_linux_always_non_stop_p.
+
+2015-09-30  Don Breazeal  <donb@codesourcery.com>
+
+       * remote.c (remote_parse_stop_reply): Call strprefix instead
+       of strncmp.
+
+2015-09-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * gdbarch.sh (struct gdbarch_info): Change tdep_info's type to void *.
+       * gdbarch.h: Regenerate.
+       * i386-tdep.c (i386_gdbarch_init): Remove cast to
+       struct gdbarch_tdep_info *.
+       * mips-tdep.c (mips_gdbarch_init): Likewise.
+       * ppc-linux-tdep (ppu2spu_sniffer): Likewise.
+       * rs6000-tdep.c (rs6000_gdbarch_init): Likewise.
+       * spu-multiarch.c (spu_gdbarch): Likewise.
+
+2015-09-30  Kevin Buettner  <kevinb@redhat.com>
 
        * infcmd.c (finish_command_fsm_should_stop): Don't attempt to
        record a NULL value.