gdbsupport: make use of safe-ctype functions from libiberty
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 20 Nov 2020 17:23:03 +0000 (17:23 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 11 Dec 2020 22:04:28 +0000 (22:04 +0000)
Make use of the safe-ctype replacements for the standard ctype
character checking functions in gdbsupport/common-utils.cc.  The
gdbsupport library is included into both gdb and gdbserver, and on the
gdbserver side there are two targets, gdbserver itself, and also
libinproctrace.so.

libiberty was already being included in the gdbserver link command,
but was missing from the libinproctrace.so link.  As a result, after
changing gdbsupport/common-utils.cc to depend on libiberty,
libinproctrace.so would no longer link until I modified its link line.

gdbserver/ChangeLog:

* Makefile.in (IPA_LIB): Include libiberty library.

gdbsupport/ChangeLog:

* gdbsupport/common-utils.cc: Change 'ctype.h' include to
'safe-ctype.h'.
(extract_string_maybe_quoted): Use safe-ctype function versions.
(is_digit_in_base): Likewise.
(digit_to_int): Likewise.
(strtoulst): Likewise.
(skip_spaces): Likewise.
(skip_to_space): Likewise.

gdbserver/ChangeLog
gdbserver/Makefile.in
gdbsupport/ChangeLog
gdbsupport/common-utils.cc

index 700da6ef871489e79280d2f90f0154bfbe1c4710..9756d4cadaa8bc0638f884b1253524cf61b030ff 100644 (file)
@@ -1,3 +1,7 @@
+2020-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * Makefile.in (IPA_LIB): Include libiberty library.
+
 2020-11-11  Andrew Burgess  <andrew.burgess@embecosm.com>
 
        * server.cc (gdbserver_usage): Add missing option to usage text.
index 1969ed0ec377656cbccaf66fb4532366424c0482..e12848c1ce23962f40c1aae8a271ccc311777733 100644 (file)
@@ -395,7 +395,7 @@ $(IPA_LIB): $(sort $(IPA_OBJS)) ${CDEPS}
        $(ECHO_CXXLD) $(CC_LD) -shared -fPIC -Wl,--soname=$(IPA_LIB) \
                -Wl,--no-undefined $(INTERNAL_CFLAGS) $(INTERNAL_LDFLAGS) \
                 $(CXXFLAGS) \
-               -o $(IPA_LIB) ${IPA_OBJS} -ldl -pthread
+               -o $(IPA_LIB) ${IPA_OBJS} $(LIBIBERTY) -ldl -pthread
 
 # Put the proper machine-specific files first, so M-. on a machine
 # specific routine gets the one for the correct machine.
index 6be1f245bc5ba0f63420dfb92707c1b486468fc3..cc21b0b50f056bce9749acf31592e4d33c67996c 100644 (file)
@@ -1,3 +1,14 @@
+2020-12-11  Andrew Burgess  <andrew.burgess@embecosm.com>
+
+       * gdbsupport/common-utils.cc: Change 'ctype.h' include to
+       'safe-ctype.h'.
+       (extract_string_maybe_quoted): Use safe-ctype function versions.
+       (is_digit_in_base): Likewise.
+       (digit_to_int): Likewise.
+       (strtoulst): Likewise.
+       (skip_spaces): Likewise.
+       (skip_to_space): Likewise.
+
 2020-12-11  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * common-debug.h (debug_prefixed_printf_cond): New.
index b5e4d2928ecd1ed1e59286c5bf9f82aae0f30d3c..4f5c26d075cc20da3fc0dd8e7d55fbb5e956998b 100644 (file)
@@ -20,7 +20,7 @@
 #include "common-defs.h"
 #include "common-utils.h"
 #include "host-defs.h"
-#include <ctype.h>
+#include "safe-ctype.h"
 
 void *
 xzalloc (size_t size)
@@ -177,7 +177,7 @@ extract_string_maybe_quoted (const char **arg)
   /* Parse p similarly to gdb_argv buildargv function.  */
   while (*p != '\0')
     {
-      if (isspace (*p) && !squote && !dquote && !bsquote)
+      if (ISSPACE (*p) && !squote && !dquote && !bsquote)
        break;
       else
        {
@@ -230,21 +230,21 @@ extract_string_maybe_quoted (const char **arg)
 static int
 is_digit_in_base (unsigned char digit, int base)
 {
-  if (!isalnum (digit))
+  if (!ISALNUM (digit))
     return 0;
   if (base <= 10)
-    return (isdigit (digit) && digit < base + '0');
+    return (ISDIGIT (digit) && digit < base + '0');
   else
-    return (isdigit (digit) || tolower (digit) < base - 10 + 'a');
+    return (ISDIGIT (digit) || TOLOWER (digit) < base - 10 + 'a');
 }
 
 static int
 digit_to_int (unsigned char c)
 {
-  if (isdigit (c))
+  if (ISDIGIT (c))
     return c - '0';
   else
-    return tolower (c) - 'a' + 10;
+    return TOLOWER (c) - 'a' + 10;
 }
 
 /* As for strtoul, but for ULONGEST results.  */
@@ -258,7 +258,7 @@ strtoulst (const char *num, const char **trailer, int base)
   int i = 0;
 
   /* Skip leading whitespace.  */
-  while (isspace (num[i]))
+  while (ISSPACE (num[i]))
     i++;
 
   /* Handle prefixes.  */
@@ -325,7 +325,7 @@ skip_spaces (char *chp)
 {
   if (chp == NULL)
     return NULL;
-  while (*chp && isspace (*chp))
+  while (*chp && ISSPACE (*chp))
     chp++;
   return chp;
 }
@@ -337,7 +337,7 @@ skip_spaces (const char *chp)
 {
   if (chp == NULL)
     return NULL;
-  while (*chp && isspace (*chp))
+  while (*chp && ISSPACE (*chp))
     chp++;
   return chp;
 }
@@ -349,7 +349,7 @@ skip_to_space (const char *chp)
 {
   if (chp == NULL)
     return NULL;
-  while (*chp && !isspace (*chp))
+  while (*chp && !ISSPACE (*chp))
     chp++;
   return chp;
 }