diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index b6748327fe670b7844f3db89dc7072d12391fdcf..70cd4b0b873fc7e922408e996334f738c5991de8 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-05  Yao Qi  <yao.qi@linaro.org>
+
+	* linux-arm-low.c (arm_sigreturn_next_pc): Change type of cpsr
+	to uint32_t.
+
 2016-05-04  Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
 
 	* spu-low.c (fetch_ppc_register): Cast PowerPC-Linux-specific value
diff --git a/gdb/gdbserver/linux-arm-low.c b/gdb/gdbserver/linux-arm-low.c
index 57826f17d7639d5b616b08bcec783c3821bdeb94..952ec26108879a11d7e7905d242a223d32459b3d 100644
--- a/gdb/gdbserver/linux-arm-low.c
+++ b/gdb/gdbserver/linux-arm-low.c
@@ -763,7 +763,7 @@ arm_sigreturn_next_pc (struct regcache *regcache, int svc_number,
   /* Offset of PC register.  */
   int pc_offset = 0;
   CORE_ADDR next_pc = 0;
-  CORE_ADDR cpsr;
+  uint32_t cpsr;
 
   gdb_assert (svc_number == __NR_sigreturn || svc_number == __NR_rt_sigreturn);