diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2fbbc6c73c..c99ed2313b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-06-28 Yao Qi + + * aarch64-tdep.c (aarch64_displaced_step_b): Use int64_t for + variable new_offset. + 2016-06-27 Manish Goregaokar * rust-lang.c (rust_print_type, rust_decorations): Print unit diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c index 88fcf4bb55..e5ce13e01d 100644 --- a/gdb/aarch64-tdep.c +++ b/gdb/aarch64-tdep.c @@ -2322,7 +2322,7 @@ aarch64_displaced_step_b (const int is_bl, const int32_t offset, { struct aarch64_displaced_step_data *dsd = (struct aarch64_displaced_step_data *) data; - int32_t new_offset = data->insn_addr - dsd->new_addr + offset; + int64_t new_offset = data->insn_addr - dsd->new_addr + offset; if (can_encode_int32 (new_offset, 28)) { diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index f6f0ad9755..30d04987ff 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,13 @@ +2016-06-28 Yao Qi + + * linux-aarch64-low.c (aarch64_ftrace_insn_reloc_b): Use int64_t + for variable new_offset. + (aarch64_ftrace_insn_reloc_b_cond): Likewise. + (aarch64_ftrace_insn_reloc_cb): Likewise. + (aarch64_ftrace_insn_reloc_tb): Likewise. + (aarch64_install_fast_tracepoint_jump_pad): Likewise. Use + PRIx64 instead of PRIx32. + 2016-06-28 Yao Qi * linux-arm-low.c (arm_get_syscall_trapinfo): New function. diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c index 7ac68dd6e5..6efa03585b 100644 --- a/gdb/gdbserver/linux-aarch64-low.c +++ b/gdb/gdbserver/linux-aarch64-low.c @@ -1575,7 +1575,7 @@ aarch64_ftrace_insn_reloc_b (const int is_bl, const int32_t offset, { struct aarch64_insn_relocation_data *insn_reloc = (struct aarch64_insn_relocation_data *) data; - int32_t new_offset + int64_t new_offset = insn_reloc->base.insn_addr - insn_reloc->new_addr + offset; if (can_encode_int32 (new_offset, 28)) @@ -1590,7 +1590,7 @@ aarch64_ftrace_insn_reloc_b_cond (const unsigned cond, const int32_t offset, { struct aarch64_insn_relocation_data *insn_reloc = (struct aarch64_insn_relocation_data *) data; - int32_t new_offset + int64_t new_offset = insn_reloc->base.insn_addr - insn_reloc->new_addr + offset; if (can_encode_int32 (new_offset, 21)) @@ -1627,7 +1627,7 @@ aarch64_ftrace_insn_reloc_cb (const int32_t offset, const int is_cbnz, { struct aarch64_insn_relocation_data *insn_reloc = (struct aarch64_insn_relocation_data *) data; - int32_t new_offset + int64_t new_offset = insn_reloc->base.insn_addr - insn_reloc->new_addr + offset; if (can_encode_int32 (new_offset, 21)) @@ -1664,7 +1664,7 @@ aarch64_ftrace_insn_reloc_tb (const int32_t offset, int is_tbnz, { struct aarch64_insn_relocation_data *insn_reloc = (struct aarch64_insn_relocation_data *) data; - int32_t new_offset + int64_t new_offset = insn_reloc->base.insn_addr - insn_reloc->new_addr + offset; if (can_encode_int32 (new_offset, 16)) @@ -1800,7 +1800,7 @@ aarch64_install_fast_tracepoint_jump_pad (CORE_ADDR tpoint, { uint32_t buf[256]; uint32_t *p = buf; - int32_t offset; + int64_t offset; int i; uint32_t insn; CORE_ADDR buildaddr = *jump_entry; @@ -2137,7 +2137,7 @@ aarch64_install_fast_tracepoint_jump_pad (CORE_ADDR tpoint, { sprintf (err, "E.Jump back from jump pad too far from tracepoint " - "(offset 0x%" PRIx32 " cannot be encoded in 28 bits).", + "(offset 0x%" PRIx64 " cannot be encoded in 28 bits).", offset); return 1; } @@ -2151,7 +2151,7 @@ aarch64_install_fast_tracepoint_jump_pad (CORE_ADDR tpoint, { sprintf (err, "E.Jump pad too far from tracepoint " - "(offset 0x%" PRIx32 " cannot be encoded in 28 bits).", + "(offset 0x%" PRIx64 " cannot be encoded in 28 bits).", offset); return 1; }