diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 82e09aa19d0..fb8100a3017 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* common/rsp-low.c (convert_ascii_to_int): Remove.
+	* common/rsp-low.h (convert_ascii_to_int): Don't declare.
+
 2014-02-12  Tom Tromey  <tromey@redhat.com>
 
 	* common/rsp-low.h (unhexify): Don't declare.
diff --git a/gdb/common/rsp-low.c b/gdb/common/rsp-low.c
index decd23c846b..ecaa69a52ef 100644
--- a/gdb/common/rsp-low.c
+++ b/gdb/common/rsp-low.c
@@ -127,18 +127,6 @@ hex2bin (const char *hex, gdb_byte *bin, int count)
   return i;
 }
 
-void
-convert_ascii_to_int (const char *from, unsigned char *to, int n)
-{
-  int nib1, nib2;
-  while (n--)
-    {
-      nib1 = fromhex (*from++);
-      nib2 = fromhex (*from++);
-      *to++ = (((nib1 & 0x0f) << 4) & 0xf0) | (nib2 & 0x0f);
-    }
-}
-
 int
 bin2hex (const gdb_byte *bin, char *hex, int count)
 {
diff --git a/gdb/common/rsp-low.h b/gdb/common/rsp-low.h
index b793f1533e5..9edf4dc6966 100644
--- a/gdb/common/rsp-low.h
+++ b/gdb/common/rsp-low.h
@@ -36,8 +36,6 @@ extern char *unpack_varlen_hex (char *buff, ULONGEST *result);
 
 extern int hex2bin (const char *hex, gdb_byte *bin, int count);
 
-extern void convert_ascii_to_int (const char *from, unsigned char *to, int n);
-
 extern int bin2hex (const gdb_byte *bin, char *hex, int count);
 
 /* Convert BUFFER, binary data at least LEN bytes long, into escaped
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index f0d092dfd5f..fc105c474f0 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,11 @@
+2014-02-12  Tom Tromey  <tromey@redhat.com>
+
+	* ax.c (gdb_parse_agent_expr): Use hex2bin, not
+	convert_ascii_to_int.
+	* regcache.c (registers_to_string): Likewise.
+	* remote-utils.c (decode_M_packet): Likewise.
+	* server.c (process_serial_event): Likewise.
+
 2014-02-12  Tom Tromey  <tromey@redhat.com>
 
 	* server.c (handle_query, handle_v_run): Use hex2bin, not
diff --git a/gdb/gdbserver/ax.c b/gdb/gdbserver/ax.c
index 1eefaf3e6a3..ef659dc79da 100644
--- a/gdb/gdbserver/ax.c
+++ b/gdb/gdbserver/ax.c
@@ -105,7 +105,7 @@ gdb_parse_agent_expr (char **actparm)
   aexpr = xmalloc (sizeof (struct agent_expr));
   aexpr->length = xlen;
   aexpr->bytes = xmalloc (xlen);
-  convert_ascii_to_int (act, aexpr->bytes, xlen);
+  hex2bin (act, aexpr->bytes, xlen);
   *actparm = act + (xlen * 2);
   return aexpr;
 }
diff --git a/gdb/gdbserver/regcache.c b/gdb/gdbserver/regcache.c
index 6e5aa089c26..bed10b48a0e 100644
--- a/gdb/gdbserver/regcache.c
+++ b/gdb/gdbserver/regcache.c
@@ -234,7 +234,7 @@ registers_from_string (struct regcache *regcache, char *buf)
       if (len > tdesc->registers_size * 2)
 	len = tdesc->registers_size * 2;
     }
-  convert_ascii_to_int (buf, registers, len / 2);
+  hex2bin (buf, registers, len / 2);
 }
 
 struct reg *
diff --git a/gdb/gdbserver/remote-utils.c b/gdb/gdbserver/remote-utils.c
index 3b3f18333cd..4fcafa0b2b9 100644
--- a/gdb/gdbserver/remote-utils.c
+++ b/gdb/gdbserver/remote-utils.c
@@ -1270,7 +1270,7 @@ decode_M_packet (char *from, CORE_ADDR *mem_addr_ptr, unsigned int *len_ptr,
   if (*to_p == NULL)
     *to_p = xmalloc (*len_ptr);
 
-  convert_ascii_to_int (&from[i++], *to_p, *len_ptr);
+  hex2bin (&from[i++], *to_p, *len_ptr);
 }
 
 int
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 1ea1bde9f9a..a441afd8472 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -3624,7 +3624,7 @@ process_serial_event (void)
       break;
     case 'C':
       require_running (own_buf);
-      convert_ascii_to_int (own_buf + 1, &sig, 1);
+      hex2bin (own_buf + 1, &sig, 1);
       if (gdb_signal_to_host_p (sig))
 	signal = gdb_signal_to_host (sig);
       else
@@ -3633,7 +3633,7 @@ process_serial_event (void)
       break;
     case 'S':
       require_running (own_buf);
-      convert_ascii_to_int (own_buf + 1, &sig, 1);
+      hex2bin (own_buf + 1, &sig, 1);
       if (gdb_signal_to_host_p (sig))
 	signal = gdb_signal_to_host (sig);
       else