Fix PR remote/19840: gdb crashes on reverse-stepi
[deliverable/binutils-gdb.git] / gdb / gdbserver / ChangeLog
index ecc5281a995c72c1a486061b7577443f44a8c8b5..0d2df72b6b2394a979b8140cac6a79d4a4811439 100644 (file)
@@ -1,3 +1,404 @@
+2016-04-12  Pedro Alves  <palves@redhat.com>
+
+       * utils.c (prepare_to_throw_exception): Delete.
+
+2016-04-05  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * Makefile.in ($(IPA_LIB)): Set SONAME of the IPA lib.
+
+2016-04-05  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * tracepoint.c (getauxval): Move to #ifdef IN_PROCESS_AGENT.
+
+2016-04-03  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * linux-aarch64-ipa.c: Add <elf.h> include.
+       * linux-ppc-ipa.c: Add <elf.h> include.
+       * linux-s390-ipa.c: Add <elf.h> include.
+
+2016-03-31  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * tracepoint.c (gdb_collect_ptr): Remove const qualifier.
+       (get_raw_reg_ptr): Likewise.
+       (get_trace_state_variable_value_ptr): Likewise.
+       (set_trace_state_variable_value_ptr): Likewise.
+       (initialize_tracepoint): Cast alloc_jump_pad_buffer result to
+       char *.
+
+2016-03-31  Wei-cheng Wang  <cole945@gmail.com>
+           Marcin Kościelnicki  <koriakin@0x04.net>
+
+       PR/17221
+       * linux-ppc-low.c (emit_insns): New function.
+       (__EMIT_ASM, _EMIT_ASM, EMIT_ASM): New macros.
+       (ppc_emit_prologue): New function.
+       (ppc_emit_epilogue): New function.
+       (ppc_emit_add): New function.
+       (ppc_emit_sub): New function.
+       (ppc_emit_mul): New function.
+       (ppc_emit_lsh): New function.
+       (ppc_emit_rsh_signed): New function.
+       (ppc_emit_rsh_unsigned): New function.
+       (ppc_emit_ext): New function.
+       (ppc_emit_zero_ext): New function.
+       (ppc_emit_log_not): New function.
+       (ppc_emit_bit_and): New function.
+       (ppc_emit_bit_or): New function.
+       (ppc_emit_bit_xor): New function.
+       (ppc_emit_bit_not): New function.
+       (ppc_emit_equal): New function.
+       (ppc_emit_less_signed): New function.
+       (ppc_emit_less_unsigned): New function.
+       (ppc_emit_ref): New function.
+       (ppc_emit_const): New function.
+       (ppc_emit_reg): New function.
+       (ppc_emit_pop): New function.
+       (ppc_emit_stack_flush): New function.
+       (ppc_emit_swap): New function.
+       (ppc_emit_stack_adjust): New function.
+       (ppc_emit_call): New function.
+       (ppc_emit_int_call_1): New function.
+       (ppc_emit_void_call_2): New function.
+       (ppc_emit_if_goto): New function.
+       (ppc_emit_goto): New function.
+       (ppc_emit_eq_goto): New function.
+       (ppc_emit_ne_goto): New function.
+       (ppc_emit_lt_goto): New function.
+       (ppc_emit_le_goto): New function.
+       (ppc_emit_gt_goto): New function.
+       (ppc_emit_ge_goto): New function.
+       (ppc_write_goto_address): New function.
+       (ppc_emit_ops_impl): New static variable.
+       (ppc64v1_emit_prologue): New function.
+       (ppc64v2_emit_prologue): New function.
+       (ppc64_emit_epilogue): New function.
+       (ppc64_emit_add): New function.
+       (ppc64_emit_sub): New function.
+       (ppc64_emit_mul): New function.
+       (ppc64_emit_lsh): New function.
+       (ppc64_emit_rsh_signed): New function.
+       (ppc64_emit_rsh_unsigned): New function.
+       (ppc64_emit_ext): New function.
+       (ppc64_emit_zero_ext): New function.
+       (ppc64_emit_log_not): New function.
+       (ppc64_emit_bit_and): New function.
+       (ppc64_emit_bit_or): New function.
+       (ppc64_emit_bit_xor): New function.
+       (ppc64_emit_bit_not): New function.
+       (ppc64_emit_equal): New function.
+       (ppc64_emit_less_signed): New function.
+       (ppc64_emit_less_unsigned): New function.
+       (ppc64_emit_ref): New function.
+       (ppc64_emit_const): New function.
+       (ppc64v1_emit_reg): New function.
+       (ppc64v2_emit_reg): New function.
+       (ppc64_emit_pop): New function.
+       (ppc64_emit_stack_flush): New function.
+       (ppc64_emit_swap): New function.
+       (ppc64v1_emit_call): New function.
+       (ppc64v2_emit_call): New function.
+       (ppc64v1_emit_int_call_1): New function.
+       (ppc64v2_emit_int_call_1): New function.
+       (ppc64v1_emit_void_call_2): New function.
+       (ppc64v2_emit_void_call_2): New function.
+       (ppc64_emit_if_goto): New function.
+       (ppc64_emit_eq_goto): New function.
+       (ppc64_emit_ne_goto): New function.
+       (ppc64_emit_lt_goto): New function.
+       (ppc64_emit_le_goto): New function.
+       (ppc64_emit_gt_goto): New function.
+       (ppc64_emit_ge_goto): New function.
+       (ppc64v1_emit_ops_impl): New static variable.
+       (ppc64v2_emit_ops_impl): New static variable.
+       (ppc_emit_ops): New function.
+       (linux_low_target): Wire in ppc_emit_ops.
+
+2016-03-31  Wei-cheng Wang  <cole945@gmail.com>
+           Marcin Kościelnicki  <koriakin@0x04.net>
+
+       PR/17221
+       * Makefile.in: Add powerpc-*-ipa.o
+       * configure.srv: Add ipa_obj for powerpc*-linux.
+       * linux-ppc-ipa.c: New file.
+       * linux-ppc-low.c: Added linux-ppc-tdesc.h, ax.h, tracepoint.h
+       includes.
+       (PPC_FIELD): New macro.
+       (PPC_SEXT): New macro.
+       (PPC_OP6): New macro.
+       (PPC_BO): New macro.
+       (PPC_LI): New macro.
+       (PPC_BD): New macro.
+       (init_registers_*): Move prototype to linux-ppc-tdesc.h.
+       (tdesc_*): Move declaration to linux-ppc-tdesc.h.
+       (ppc_get_hwcap): Rename to ppc_get_auxv and add type parameter.
+       (ppc_get_thread_area): New function.
+       (is_elfv2_inferior): New function.
+       (gen_ds_form): New function.
+       (GEN_STD): New macro.
+       (GEN_STDU): New macro.
+       (GEN_LD): New macro.
+       (GEN_LDU): New macro.
+       (gen_d_form): New function.
+       (GEN_ADDI): New macro.
+       (GEN_ADDIS): New macro.
+       (GEN_LI): New macro.
+       (GEN_LIS): New macro.
+       (GEN_ORI): New macro.
+       (GEN_ORIS): New macro.
+       (GEN_LWZ): New macro.
+       (GEN_STW): New macro.
+       (GEN_STWU): New macro.
+       (gen_xfx_form): New function.
+       (GEN_MFSPR): New macro.
+       (GEN_MTSPR): New macro.
+       (GEN_MFCR): New macro.
+       (GEN_MTCR): New macro.
+       (GEN_SYNC): New macro.
+       (GEN_LWSYNC): New macro.
+       (gen_x_form): New function.
+       (GEN_OR): New macro.
+       (GEN_MR): New macro.
+       (GEN_LWARX): New macro.
+       (GEN_STWCX): New macro.
+       (GEN_CMPW): New macro.
+       (gen_md_form): New function.
+       (GEN_RLDICL): New macro.
+       (GEN_RLDICR): New macro.
+       (gen_i_form): New function.
+       (GEN_B): New macro.
+       (GEN_BL): New macro.
+       (gen_b_form): New function.
+       (GEN_BNE): New macro.
+       (GEN_LOAD): New macro.
+       (GEN_STORE): New macro.
+       (gen_limm): New function.
+       (gen_atomic_xchg): New function.
+       (gen_call): New function.
+       (ppc_relocate_instruction): New function.
+       (ppc_install_fast_tracepoint_jump_pad): New function.
+       (ppc_get_min_fast_tracepoint_insn_len): New function.
+       (ppc_get_ipa_tdesc_idx): New function.
+       (the_low_target): Wire in the new functions.
+       (initialize_low_arch) [!__powerpc64__]: Don'it initialize 64-bit
+       tdescs.
+       * linux-ppc-tdesc.h: New file.
+
+2016-03-31  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * linux-aarch64-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes.
+       (alloc_jump_pad_buffer): New function.
+       * linux-amd64-ipa.c: Add <sys/mman.h> include.
+       (alloc_jump_pad_buffer): New function.
+       * linux-i386-ipa.c (alloc_jump_pad_buffer): New function.
+       * linux-s390-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes.
+       (alloc_jump_pad_buffer): New function.
+       * tracepoint.c (getauxval) [!HAVE_GETAUXVAL]: New function.
+       (initialize_tracepoint): Delegate to alloc_jump_pad_buffer.
+       * tracepoint.h (alloc_jump_pad_buffer): New prototype.
+       (getauxval) [!HAVE_GETAUXVAL]: New prototype.
+
+2016-03-30  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * linux-aarch64-ipa.c: Rename gdb_agent_get_raw_reg to get_raw_reg.
+       * linux-amd64-ipa.c: Likewise.
+       * linux-i386-ipa.c: Likewise.
+       * linux-s390-ipa.c: Likewise.
+       * tracepoint.c: IPA-export gdb_collect_ptr instead of gdb_collect,
+       ditto for get_raw_reg_ptr, get_trace_state_variable_value_ptr,
+       set_trace_state_variable_value_ptr.
+       (struct ipa_sym_addresses): Likewise.
+       (symbol_list): Likewise.
+       (install_fast_tracepoint): Dereference gdb_collect_ptr instead of
+       accessing gdb_collect directly.
+       (gdb_collect_ptr_type): New typedef.
+       (get_raw_reg_ptr_type): New typedef.
+       (get_trace_state_variable_value_ptr_type): New typedef.
+       (set_trace_state_variable_value_ptr_type): New typedef.
+       (gdb_collect_ptr): New global.
+       (get_raw_reg_ptr): New global.
+       (get_trace_state_variable_value_ptr): New global.
+       (set_trace_state_variable_value_ptr): New global.
+       (get_raw_reg_func_addr): Dereference get_raw_reg_ptr instead of
+       accessing get_raw_reg directly.
+       (get_get_tsv_func_addr): Likewise for
+       get_trace_state_variable_value_ptr.
+       (get_set_tsv_func_addr): Likewise for
+       set_trace_state_variable_value_ptr.
+       * tracepoint.h: Rename gdb_agent_get_raw_reg to get_raw_reg.
+
+2016-03-30  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * tracepoint.c (cmd_qtenable_disable): Remove whitespace.
+
+2016-03-30  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * remote-utils.c (look_up_one_symbol): Remove own_buf, handle 'v'
+       packets.
+       (relocate_instruction): Remove own_buf.
+       * server.c (own_buf): Make global.
+       (handle_v_requests): Make global.
+       * server.h (own_buf): New declaration.
+       (handle_v_requests): New prototype.
+
+2016-03-29  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       PR 18377
+       * linux-s390-low.c (add_insns): New function.
+       (s390_emit_prologue): New function.
+       (s390_emit_epilogue): New function.
+       (s390_emit_add): New function.
+       (s390_emit_sub): New function.
+       (s390_emit_mul): New function.
+       (s390_emit_lsh): New function.
+       (s390_emit_rsh_signed): New function.
+       (s390_emit_rsh_unsigned): New function.
+       (s390_emit_ext): New function.
+       (s390_emit_log_not): New function.
+       (s390_emit_bit_and): New function.
+       (s390_emit_bit_or): New function.
+       (s390_emit_bit_xor): New function.
+       (s390_emit_bit_not): New function.
+       (s390_emit_equal): New function.
+       (s390_emit_less_signed): New function.
+       (s390_emit_less_unsigned): New function.
+       (s390_emit_ref): New function.
+       (s390_emit_if_goto): New function.
+       (s390_emit_goto): New function.
+       (s390_write_goto_address): New function.
+       (s390_emit_litpool): New function.
+       (s390_emit_const): New function.
+       (s390_emit_call): New function.
+       (s390_emit_reg): New function.
+       (s390_emit_pop): New function.
+       (s390_emit_stack_flush): New function.
+       (s390_emit_zero_ext): New function.
+       (s390_emit_swap): New function.
+       (s390_emit_stack_adjust): New function.
+       (s390_emit_set_r2): New function.
+       (s390_emit_int_call_1): New function.
+       (s390_emit_void_call_2): New function.
+       (s390_emit_eq_goto): New function.
+       (s390_emit_ne_goto): New function.
+       (s390_emit_lt_goto): New function.
+       (s390_emit_le_goto): New function.
+       (s390_emit_gt_goto): New function.
+       (s390_emit_ge_goto): New function.
+       (s390x_emit_prologue): New function.
+       (s390x_emit_epilogue): New function.
+       (s390x_emit_add): New function.
+       (s390x_emit_sub): New function.
+       (s390x_emit_mul): New function.
+       (s390x_emit_lsh): New function.
+       (s390x_emit_rsh_signed): New function.
+       (s390x_emit_rsh_unsigned): New function.
+       (s390x_emit_ext): New function.
+       (s390x_emit_log_not): New function.
+       (s390x_emit_bit_and): New function.
+       (s390x_emit_bit_or): New function.
+       (s390x_emit_bit_xor): New function.
+       (s390x_emit_bit_not): New function.
+       (s390x_emit_equal): New function.
+       (s390x_emit_less_signed): New function.
+       (s390x_emit_less_unsigned): New function.
+       (s390x_emit_ref): New function.
+       (s390x_emit_if_goto): New function.
+       (s390x_emit_const): New function.
+       (s390x_emit_call): New function.
+       (s390x_emit_reg): New function.
+       (s390x_emit_pop): New function.
+       (s390x_emit_stack_flush): New function.
+       (s390x_emit_zero_ext): New function.
+       (s390x_emit_swap): New function.
+       (s390x_emit_stack_adjust): New function.
+       (s390x_emit_int_call_1): New function.
+       (s390x_emit_void_call_2): New function.
+       (s390x_emit_eq_goto): New function.
+       (s390x_emit_ne_goto): New function.
+       (s390x_emit_lt_goto): New function.
+       (s390x_emit_le_goto): New function.
+       (s390x_emit_gt_goto): New function.
+       (s390x_emit_ge_goto): New function.
+       (s390_emit_ops): New function.
+       (struct linux_target_ops): Fill in emit_ops hook.
+
+2016-03-29  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       PR 18377
+       * Makefile.in: Add s390 IPA files.
+       * configure.srv: Build IPA for s390.
+       * linux-s390-ipa.c: New file.
+       * linux-s390-low.c: New includes - inttypes.h and linux-s390-tdesc.h.
+       (init_registers_s390_linux32): Move declaration to linux-s390-tdesc.h.
+       (tdesc_s390_linux32): Likewise.
+       (init_registers_s390_linux32v1): Likewise.
+       (tdesc_s390_linux32v1): Likewise.
+       (init_registers_s390_linux32v2): Likewise.
+       (tdesc_s390_linux32v2): Likewise.
+       (init_registers_s390_linux64): Likewise.
+       (tdesc_s390_linux64): Likewise.
+       (init_registers_s390_linux64v1): Likewise.
+       (tdesc_s390_linux64v1): Likewise.
+       (init_registers_s390_linux64v2): Likewise.
+       (tdesc_s390_linux64v2): Likewise.
+       (init_registers_s390_te_linux64): Likewise.
+       (tdesc_s390_te_linux64): Likewise.
+       (init_registers_s390_vx_linux64): Likewise.
+       (tdesc_s390_vx_linux64): Likewise.
+       (init_registers_s390_tevx_linux64): Likewise.
+       (tdesc_s390_tevx_linux64): Likewise.
+       (init_registers_s390x_linux64): Likewise.
+       (tdesc_s390x_linux64): Likewise.
+       (init_registers_s390x_linux64v1): Likewise.
+       (tdesc_s390x_linux64v1): Likewise.
+       (init_registers_s390x_linux64v2): Likewise.
+       (tdesc_s390x_linux64v2): Likewise.
+       (init_registers_s390x_te_linux64): Likewise.
+       (tdesc_s390x_te_linux64): Likewise.
+       (init_registers_s390x_vx_linux64): Likewise.
+       (tdesc_s390x_vx_linux64): Likewise.
+       (init_registers_s390x_tevx_linux64): Likewise.
+       (tdesc_s390x_tevx_linux64): Likewise.
+       (have_hwcap_s390_vx): New static variable.
+       (s390_arch_setup): Fill have_hwcap_s390_vx.
+       (s390_get_thread_area): New function.
+       (s390_ft_entry_gpr_esa): New const.
+       (s390_ft_entry_gpr_zarch): New const.
+       (s390_ft_entry_misc): New const.
+       (s390_ft_entry_fr): New const.
+       (s390_ft_entry_vr): New const.
+       (s390_ft_main_31): New const.
+       (s390_ft_main_64): New const.
+       (s390_ft_exit_fr): New const.
+       (s390_ft_exit_vr): New const.
+       (s390_ft_exit_misc): New const.
+       (s390_ft_exit_gpr_esa): New const.
+       (s390_ft_exit_gpr_zarch): New const.
+       (append_insns): New function.
+       (s390_relocate_instruction): New function.
+       (s390_install_fast_tracepoint_jump_pad): New function.
+       (s390_get_min_fast_tracepoint_insn_len): New function.
+       (s390_get_ipa_tdesc_idx): New function.
+       (struct linux_target_ops): Wire in the above functions.
+       (initialize_low_arch) [!__s390x__]: Don't initialize s390x tdescs.
+       * linux-s390-tdesc.h: New file.
+
+2016-03-29  Marcin Kościelnicki  <koriakin@0x04.net>
+
+       * linux-s390-low.c (s390_supports_tracepoints): New function.
+       (struct linux_target_ops): Fill supports_tracepoints hook.
+
+2016-03-18  Yao Qi  <yao.qi@linaro.org>
+
+       * linux-low.c (lwp_signal_can_be_delivered): New function.
+       (linux_resume_one_lwp_throw): Use lwp_signal_can_be_delivered.
+
+2016-03-18  Yao Qi  <yao.qi@linaro.org>
+
+       * linux-low.c (linux_resume_one_lwp_throw): Set 'signal' to
+       0 if signal is enqueued.  Remove 'signal' from one debugging
+       message.  Move one debugging message to some lines below.
+       Remove code setting 'signal' to 0.
+
 2016-03-18  Yao Qi  <yao.qi@linaro.org>
 
        * linux-low.c (linux_low_filter_event): Remove redundant
This page took 0.030307 seconds and 4 git commands to generate.