71dafe
diff -up make-3.82/main.c\~ make-3.82/main.c
71dafe
--- make-3.82/main.c~	2010-07-19 09:10:53.000000000 +0200
71dafe
+++ make-3.82/main.c	2010-08-11 15:12:09.000000000 +0200
71dafe
@@ -1765,6 +1765,20 @@ main (int argc, char **argv, char **envp
71dafe
         }
71dafe
     }
71dafe
 
71dafe
+#ifdef PIPE_BUF
71dafe
+  if (job_slots > PIPE_BUF)
71dafe
+#elif defined _POSIX_PIPE_BUF
71dafe
+  if (job_slots > _POSIX_PIPE_BUF)
71dafe
+#else
71dafe
+  if (job_slots > 512)
71dafe
+#endif
71dafe
+    {
71dafe
+      error (NILF,
71dafe
+	     _("More parallel jobs (-jN) than this platform can handle requested."));
71dafe
+      error (NILF, _("Resetting to single job (-j1) mode."));
71dafe
+      job_slots = 1;
71dafe
+    }
71dafe
+
71dafe
   /* If we have >1 slot but no jobserver-fds, then we're a top-level make.
71dafe
      Set up the pipe and install the fds option for our children.  */
71dafe
 
71dafe
71dafe
Diff finished.  Wed Aug 11 15:12:32 2010