https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63853

--- Comment #9 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
I just completed a clean bootstrap of r217511 with the following patch

--- ../_clean/gcc/gcc.c    2014-11-13 15:29:00.000000000 +0100
+++ gcc/gcc.c    2014-11-13 17:59:47.000000000 +0100
@@ -3375,12 +3375,16 @@ handle_foffload_option (const char *arg)
   if (arg[0] == '-')
     return;

-  end = strchrnul (arg, '=');
+  end = strchr (arg, '=');
+  if (end == NULL)
+    end = strchr (arg, '\0');
   cur = arg;

   while (cur < end)
     {
-      next = strchrnul (cur, ',');
+      next = strchr (cur, ',');
+      if (next == NULL)
+    next = strchr (cur, '\0');
       next = (next > end) ? end : next;

       target = XNEWVEC (char, next - cur + 1);
@@ -3400,7 +3404,9 @@ handle_foffload_option (const char *arg)
       c = OFFLOAD_TARGETS;
       while (c)
     {
-      n = strchrnul (c, ',');
+      n = strchr (c, ',');
+      if (n == NULL)
+        n = strchr (c, '\0');

       if (strlen (target) == (size_t) (n - c)
           && strncmp (target, c, n - c) == 0)
@@ -3421,7 +3427,9 @@ handle_foffload_option (const char *arg)
       c = offload_targets;
       do
         {
-          n = strchrnul (c, ':');
+          n = strchr (c, ':');
+          if (n == NULL)
+        n = strchr (c, '\0');

           if (strlen (target) == (size_t) (n - c)
           && strncmp (c, target, n - c) == 0)
--- ../_clean/gcc/lto-wrapper.c    2014-11-13 15:29:00.000000000 +0100
+++ gcc/lto-wrapper.c    2014-11-13 17:54:48.000000000 +0100
@@ -424,7 +424,9 @@ parse_env_var (const char *str, char ***

   values = (char**) xmalloc (num * sizeof (char*));
   curval = str;
-  nextval = strchrnul (curval, ':');
+  nextval = strchr (curval, ':');
+  if (nextval == NULL)
+    nextval = strchr (curval, '\0');

   int append_len = append ? strlen (append) : 0;
   for (i = 0; i < num; i++)
@@ -436,7 +438,9 @@ parse_env_var (const char *str, char ***
       if (append)
     strcat (values[i], append);
       curval = nextval + 1;
-      nextval = strchrnul (curval, ':');
+      nextval = strchr (curval, ':');
+      if (nextval == NULL)
+    nextval = strchr (curval, '\0');
     }
   *pvalues = values;
   return num;
@@ -581,7 +585,9 @@ append_offload_options (obstack *argv_ob

       while (cur < opts)
         {
-          next = strchrnul (cur, ',');
+          next = strchr (cur, ',');
+          if (next == NULL)
+        next = strchr (cur, '\0');
           next = (next > opts) ? opts : next;

           if (strlen (target) == (size_t) (next - cur)

Reply via email to