+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