bash: Split up and order the akaros-patches
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 1 Oct 2018 01:08:41 +0000 (21:08 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 2 Oct 2018 18:07:01 +0000 (14:07 -0400)
This ensures the patches are applied in order and it is easier to work
on various parts of the patch.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
tools/sys-apps/bash/akaros-patches/4.3.30/0001-config-etc.patch [new file with mode: 0644]
tools/sys-apps/bash/akaros-patches/4.3.30/0002-echo.patch [new file with mode: 0644]
tools/sys-apps/bash/akaros-patches/4.3.30/0003-upstream-script-exit.patch [new file with mode: 0644]
tools/sys-apps/bash/akaros-patches/4.3.30/0004-errstr-patch [new file with mode: 0644]
tools/sys-apps/bash/akaros-patches/4.3.30/bash-4.3.30.patch [deleted file]
tools/sys-apps/bash/akaros-patches/4.3.30/upstream.patch [deleted file]

diff --git a/tools/sys-apps/bash/akaros-patches/4.3.30/0001-config-etc.patch b/tools/sys-apps/bash/akaros-patches/4.3.30/0001-config-etc.patch
new file mode 100644 (file)
index 0000000..3334cbf
--- /dev/null
@@ -0,0 +1,37 @@
+diff -ur bash-4.3.30.dist/configure bash-4.3.30/configure
+--- bash-4.3.30.dist/configure 2014-02-11 10:38:00.000000000 -0500
++++ bash-4.3.30/configure      2016-05-16 23:04:59.481616025 -0400
+@@ -2853,6 +2853,7 @@
+ sparc-linux*) opt_bash_malloc=no ;;   # sparc running linux; requires ELF
+ #*-freebsd*-gnu)      opt_bash_malloc=no ;;   # there's some undetermined problem here
+ #*-freebsd*)  opt_bash_malloc=no ;;   # they claim it's better; I disagree
++*-akaros*)    opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
+ *-openbsd*)   opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
+ *-mirbsd*)    opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
+ *-aix*)               opt_bash_malloc=no ;;   # AIX machines
+diff -ur bash-4.3.30.dist/support/config.guess bash-4.3.30/support/config.guess
+--- bash-4.3.30.dist/support/config.guess      2013-12-16 16:02:33.000000000 -0500
++++ bash-4.3.30/support/config.guess   2016-05-16 23:04:12.844336864 -0400
+@@ -219,6 +219,10 @@
+       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+       exit ;;
++    *:Akaros:*:*)
++      UNAME_MACHINE_ARCH=x86_64
++      echo x86_64-ucb-akaros1.0
++      exit ;;
+     *:OpenBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+diff -ur bash-4.3.30.dist/support/config.sub bash-4.3.30/support/config.sub
+--- bash-4.3.30.dist/support/config.sub        2013-12-17 10:49:47.000000000 -0500
++++ bash-4.3.30/support/config.sub     2016-05-16 23:05:28.906423063 -0400
+@@ -1356,7 +1356,7 @@
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* | -plan9* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+-            | -aos* | -aros* \
++            | -akaros* | -aos* | -aros* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/tools/sys-apps/bash/akaros-patches/4.3.30/0002-echo.patch b/tools/sys-apps/bash/akaros-patches/4.3.30/0002-echo.patch
new file mode 100644 (file)
index 0000000..8966f1a
--- /dev/null
@@ -0,0 +1,91 @@
+diff -ur bash-4.3.30.dist/builtins/echo.def bash-4.3.30/builtins/echo.def
+--- bash-4.3.30.dist/builtins/echo.def 2011-06-29 09:55:58.000000000 -0400
++++ bash-4.3.30/builtins/echo.def      2016-06-03 17:40:57.834915855 -0400
+@@ -108,8 +108,9 @@
+ echo_builtin (list)
+      WORD_LIST *list;
+ {
+-  int display_return, do_v9, i, len;
+-  char *temp, *s;
++  int display_return, do_v9, i, j, len, malloc_len;
++  char *temp, *s, *m;
++  WORD_LIST *save_list;
+   do_v9 = xpg_echo;
+   display_return = 1;
+@@ -162,6 +163,30 @@
+   clearerr (stdout);  /* clear error before writing and testing success */
+   terminate_immediately++;
++  malloc_len = 0;
++  m = NULL;
++  save_list = list;
++  while (list)
++    {
++      i = len = 0;
++      temp = do_v9 ? ansicstr (list->word->word, STRLEN (list->word->word), 1, &i, &len)
++                 : list->word->word;
++      if (!temp)
++        continue;
++      malloc_len += do_v9 ? len : strlen(temp);
++      if (do_v9)
++      free (temp);
++      list = list->next;
++      if (list)
++        malloc_len++;
++    }
++  if (display_return)
++    malloc_len++;
++  m = malloc(malloc_len);
++  if (m == NULL)
++    fatal_error ("echo: could not allocate %lu bytes", (unsigned long)malloc_len);
++  list = save_list;
++  j = 0;
+   while (list)
+     {
+       i = len = 0;
+@@ -169,19 +194,13 @@
+                  : list->word->word;
+       if (temp)
+       {
+-        if (do_v9)
+-          {
+-            for (s = temp; len > 0; len--)
+-              putchar (*s++);
+-          }
+-        else      
+-          printf ("%s", temp);
+-#if defined (SunOS5)
+-        fflush (stdout);      /* Fix for bug in SunOS 5.5 printf(3) */
+-#endif
++        if (!do_v9)
++              len = strlen(temp);
++          memmove(m + j, temp, len);
++          j += len;
++          if (do_v9)
++            free (temp);
+       }
+-      if (do_v9 && temp)
+-      free (temp);
+       list = list->next;
+       if (i)
+       {
+@@ -189,11 +208,15 @@
+         break;
+       }
+       if (list)
+-      putchar(' ');
++      m[j++] = ' ';
+     }
+-
+   if (display_return)
+-    putchar ('\n');
++    m[j++] = '\n';
++  write(STDOUT_FILENO, m, j);
++  free(m);
++#if defined (SunOS5)
++  fflush (stdout);    /* Fix for bug in SunOS 5.5 printf(3) */
++#endif
+   terminate_immediately--;
+   return (sh_chkwrite (EXECUTION_SUCCESS));
diff --git a/tools/sys-apps/bash/akaros-patches/4.3.30/0003-upstream-script-exit.patch b/tools/sys-apps/bash/akaros-patches/4.3.30/0003-upstream-script-exit.patch
new file mode 100644 (file)
index 0000000..5b238e8
--- /dev/null
@@ -0,0 +1,10 @@
+*** bash-4.3.30.dist/execute_cmd.c     2016-06-22 14:46:01.000000000 -0400
+--- bash-4.3.30/execute_cmd.c  2016-08-05 15:20:09.190086126 -0400
+***************
+*** 5148,5151 ****
+--- 5148,5153 ----
+    set_sigchld_handler ();
+    init_job_stats ();
++ #else
++   stop_making_children ();
+  #endif /* JOB_CONTROL */
diff --git a/tools/sys-apps/bash/akaros-patches/4.3.30/0004-errstr-patch b/tools/sys-apps/bash/akaros-patches/4.3.30/0004-errstr-patch
new file mode 100644 (file)
index 0000000..95a227c
--- /dev/null
@@ -0,0 +1,51 @@
+diff -ur bash-4.3.30.dist/error.c bash-4.3.30/error.c
+--- bash-4.3.30.dist/error.c   2014-01-17 08:09:33.000000000 -0500
++++ bash-4.3.30/error.c        2016-05-25 13:40:26.978379551 -0400
+@@ -487,3 +487,32 @@
+ {
+   report_error (_("%s: readonly variable"), s);
+ }
++
++#if defined (USE_AKAROS_STRERROR)
++#ifndef MAX_ERRSTR_LEN
++#define MAX_ERRSTR_LEN 128
++#endif
++char *
++akaros_strerror(e)
++      int e;
++{
++  static char emsg[2*MAX_ERRSTR_LEN];
++  char ebuf[MAX_ERRSTR_LEN];
++  size_t len;
++  int serrno;
++  char *estr, *strerror_str;
++
++  serrno = errno;
++  estr = errstr ();
++  strerror_str = strerror_r (e, ebuf, sizeof (ebuf));
++  len = strlen (strerror_str);
++  if (len > (sizeof (emsg) - 1))
++    len = sizeof (emsg) - 1;
++  memmove (emsg, strerror_str, len);
++  if (e == serrno && estr && *estr)
++    snprintf (emsg + len, sizeof (emsg) - len, ", %s", estr);
++  ebuf[sizeof (ebuf) - 1] = '\0';
++
++  return emsg;
++}
++#endif
+diff -ur bash-4.3.30.dist/mksyntax.c bash-4.3.30/mksyntax.c
+--- bash-4.3.30.dist/mksyntax.c        2012-07-29 19:48:38.000000000 -0400
++++ bash-4.3.30/mksyntax.c     2016-05-25 11:59:57.560352289 -0400
+@@ -40,6 +40,10 @@
+ extern int errno;
+ #endif
++#ifdef strerror
++#undef strerror
++#endif
++
+ #ifndef HAVE_STRERROR
+ extern char *strerror();
+ #endif
+
diff --git a/tools/sys-apps/bash/akaros-patches/4.3.30/bash-4.3.30.patch b/tools/sys-apps/bash/akaros-patches/4.3.30/bash-4.3.30.patch
deleted file mode 100644 (file)
index c84c561..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-Only in bash-4.3.30: build
-diff -ur bash-4.3.30.dist/builtins/echo.def bash-4.3.30/builtins/echo.def
---- bash-4.3.30.dist/builtins/echo.def 2011-06-29 09:55:58.000000000 -0400
-+++ bash-4.3.30/builtins/echo.def      2016-06-03 17:40:57.834915855 -0400
-@@ -108,8 +108,9 @@
- echo_builtin (list)
-      WORD_LIST *list;
- {
--  int display_return, do_v9, i, len;
--  char *temp, *s;
-+  int display_return, do_v9, i, j, len, malloc_len;
-+  char *temp, *s, *m;
-+  WORD_LIST *save_list;
-   do_v9 = xpg_echo;
-   display_return = 1;
-@@ -162,6 +163,30 @@
-   clearerr (stdout);  /* clear error before writing and testing success */
-   terminate_immediately++;
-+  malloc_len = 0;
-+  m = NULL;
-+  save_list = list;
-+  while (list)
-+    {
-+      i = len = 0;
-+      temp = do_v9 ? ansicstr (list->word->word, STRLEN (list->word->word), 1, &i, &len)
-+                 : list->word->word;
-+      if (!temp)
-+        continue;
-+      malloc_len += do_v9 ? len : strlen(temp);
-+      if (do_v9)
-+      free (temp);
-+      list = list->next;
-+      if (list)
-+        malloc_len++;
-+    }
-+  if (display_return)
-+    malloc_len++;
-+  m = malloc(malloc_len);
-+  if (m == NULL)
-+    fatal_error ("echo: could not allocate %lu bytes", (unsigned long)malloc_len);
-+  list = save_list;
-+  j = 0;
-   while (list)
-     {
-       i = len = 0;
-@@ -169,19 +194,13 @@
-                  : list->word->word;
-       if (temp)
-       {
--        if (do_v9)
--          {
--            for (s = temp; len > 0; len--)
--              putchar (*s++);
--          }
--        else      
--          printf ("%s", temp);
--#if defined (SunOS5)
--        fflush (stdout);      /* Fix for bug in SunOS 5.5 printf(3) */
--#endif
-+        if (!do_v9)
-+              len = strlen(temp);
-+          memmove(m + j, temp, len);
-+          j += len;
-+          if (do_v9)
-+            free (temp);
-       }
--      if (do_v9 && temp)
--      free (temp);
-       list = list->next;
-       if (i)
-       {
-@@ -189,11 +208,15 @@
-         break;
-       }
-       if (list)
--      putchar(' ');
-+      m[j++] = ' ';
-     }
--
-   if (display_return)
--    putchar ('\n');
-+    m[j++] = '\n';
-+  write(STDOUT_FILENO, m, j);
-+  free(m);
-+#if defined (SunOS5)
-+  fflush (stdout);    /* Fix for bug in SunOS 5.5 printf(3) */
-+#endif
-   terminate_immediately--;
-   return (sh_chkwrite (EXECUTION_SUCCESS));
-diff -ur bash-4.3.30.dist/configure bash-4.3.30/configure
---- bash-4.3.30.dist/configure 2014-02-11 10:38:00.000000000 -0500
-+++ bash-4.3.30/configure      2016-05-16 23:04:59.481616025 -0400
-@@ -2853,6 +2853,7 @@
- sparc-linux*) opt_bash_malloc=no ;;   # sparc running linux; requires ELF
- #*-freebsd*-gnu)      opt_bash_malloc=no ;;   # there's some undetermined problem here
- #*-freebsd*)  opt_bash_malloc=no ;;   # they claim it's better; I disagree
-+*-akaros*)    opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
- *-openbsd*)   opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
- *-mirbsd*)    opt_bash_malloc=no ;;   # they claim it needs eight-bit alignment
- *-aix*)               opt_bash_malloc=no ;;   # AIX machines
-diff -ur bash-4.3.30.dist/error.c bash-4.3.30/error.c
---- bash-4.3.30.dist/error.c   2014-01-17 08:09:33.000000000 -0500
-+++ bash-4.3.30/error.c        2016-05-25 13:40:26.978379551 -0400
-@@ -487,3 +487,32 @@
- {
-   report_error (_("%s: readonly variable"), s);
- }
-+
-+#if defined (USE_AKAROS_STRERROR)
-+#ifndef MAX_ERRSTR_LEN
-+#define MAX_ERRSTR_LEN 128
-+#endif
-+char *
-+akaros_strerror(e)
-+      int e;
-+{
-+  static char emsg[2*MAX_ERRSTR_LEN];
-+  char ebuf[MAX_ERRSTR_LEN];
-+  size_t len;
-+  int serrno;
-+  char *estr, *strerror_str;
-+
-+  serrno = errno;
-+  estr = errstr ();
-+  strerror_str = strerror_r (e, ebuf, sizeof (ebuf));
-+  len = strlen (strerror_str);
-+  if (len > (sizeof (emsg) - 1))
-+    len = sizeof (emsg) - 1;
-+  memmove (emsg, strerror_str, len);
-+  if (e == serrno && estr && *estr)
-+    snprintf (emsg + len, sizeof (emsg) - len, ", %s", estr);
-+  ebuf[sizeof (ebuf) - 1] = '\0';
-+
-+  return emsg;
-+}
-+#endif
-diff -ur bash-4.3.30.dist/mksyntax.c bash-4.3.30/mksyntax.c
---- bash-4.3.30.dist/mksyntax.c        2012-07-29 19:48:38.000000000 -0400
-+++ bash-4.3.30/mksyntax.c     2016-05-25 11:59:57.560352289 -0400
-@@ -40,6 +40,10 @@
- extern int errno;
- #endif
-+#ifdef strerror
-+#undef strerror
-+#endif
-+
- #ifndef HAVE_STRERROR
- extern char *strerror();
- #endif
-diff -ur bash-4.3.30.dist/support/config.guess bash-4.3.30/support/config.guess
---- bash-4.3.30.dist/support/config.guess      2013-12-16 16:02:33.000000000 -0500
-+++ bash-4.3.30/support/config.guess   2016-05-16 23:04:12.844336864 -0400
-@@ -219,6 +219,10 @@
-       UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
-       exit ;;
-+    *:Akaros:*:*)
-+      UNAME_MACHINE_ARCH=x86_64
-+      echo x86_64-ucb-akaros1.0
-+      exit ;;
-     *:OpenBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-diff -ur bash-4.3.30.dist/support/config.sub bash-4.3.30/support/config.sub
---- bash-4.3.30.dist/support/config.sub        2013-12-17 10:49:47.000000000 -0500
-+++ bash-4.3.30/support/config.sub     2016-05-16 23:05:28.906423063 -0400
-@@ -1356,7 +1356,7 @@
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-             | -sym* | -kopensolaris* | -plan9* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
--            | -aos* | -aros* \
-+            | -akaros* | -aos* | -aros* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
diff --git a/tools/sys-apps/bash/akaros-patches/4.3.30/upstream.patch b/tools/sys-apps/bash/akaros-patches/4.3.30/upstream.patch
deleted file mode 100644 (file)
index 5b238e8..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-*** bash-4.3.30.dist/execute_cmd.c     2016-06-22 14:46:01.000000000 -0400
---- bash-4.3.30/execute_cmd.c  2016-08-05 15:20:09.190086126 -0400
-***************
-*** 5148,5151 ****
---- 5148,5153 ----
-    set_sigchld_handler ();
-    init_job_stats ();
-+ #else
-+   stop_making_children ();
-  #endif /* JOB_CONTROL */