170 lines
4.6 KiB
Diff
170 lines
4.6 KiB
Diff
diff -Paur --no-dereference -- make.upstream/config/config.sub make/config/config.sub
|
|
--- make.upstream/config/config.sub
|
|
+++ make/config/config.sub
|
|
@@ -1356,7 +1356,7 @@
|
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
|
| -sym* | -kopensolaris* | -plan9* \
|
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
|
- | -aos* | -aros* \
|
|
+ | -aos* | -aros* | -sortix* \
|
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
|
diff -Paur --no-dereference -- make.upstream/dir.c make/dir.c
|
|
--- make.upstream/dir.c
|
|
+++ make/dir.c
|
|
@@ -19,6 +19,8 @@
|
|
#include "filedef.h"
|
|
#include "dep.h"
|
|
|
|
+#include <stddef.h>
|
|
+
|
|
#ifdef HAVE_DIRENT_H
|
|
# include <dirent.h>
|
|
# define NAMLEN(dirent) strlen((dirent)->d_name)
|
|
@@ -1142,7 +1144,7 @@
|
|
/* The glob interface wants a 'struct dirent', so mock one up. */
|
|
struct dirent *d;
|
|
unsigned int len = df->length + 1;
|
|
- unsigned int sz = sizeof (*d) - sizeof (d->d_name) + len;
|
|
+ unsigned int sz = offsetof(struct dirent, d_name) + len;
|
|
if (sz > bufsz)
|
|
{
|
|
bufsz *= 2;
|
|
diff -Paur --no-dereference -- make.upstream/function.c make/function.c
|
|
--- make.upstream/function.c
|
|
+++ make/function.c
|
|
@@ -2095,27 +2095,23 @@
|
|
char *rp;
|
|
struct stat st;
|
|
PATH_VAR (in);
|
|
- PATH_VAR (out);
|
|
|
|
strncpy (in, path, len);
|
|
in[len] = '\0';
|
|
|
|
-#ifdef HAVE_REALPATH
|
|
- ENULLLOOP (rp, realpath (in, out));
|
|
-#else
|
|
- rp = abspath (in, out);
|
|
-#endif
|
|
+ ENULLLOOP (rp, realpath (in, NULL));
|
|
|
|
if (rp)
|
|
{
|
|
int r;
|
|
- EINTRLOOP (r, stat (out, &st));
|
|
+ EINTRLOOP (r, stat (rp, &st));
|
|
if (r == 0)
|
|
{
|
|
- o = variable_buffer_output (o, out, strlen (out));
|
|
+ o = variable_buffer_output (o, rp, strlen (rp));
|
|
o = variable_buffer_output (o, " ", 1);
|
|
doneany = 1;
|
|
}
|
|
+ free (rp);
|
|
}
|
|
}
|
|
}
|
|
diff -Paur --no-dereference -- make.upstream/getloadavg.c make/getloadavg.c
|
|
--- make.upstream/getloadavg.c
|
|
+++ make/getloadavg.c
|
|
@@ -78,9 +78,11 @@
|
|
/* Both the Emacs and non-Emacs sections want this. Some
|
|
configuration files' definitions for the LOAD_AVE_CVT macro (like
|
|
sparc.h's) use macros like FSCALE, defined here. */
|
|
+#ifdef HAVE_SYS_PARAM_H
|
|
#if defined (unix) || defined (__unix)
|
|
# include <sys/param.h>
|
|
#endif
|
|
+#endif
|
|
|
|
|
|
/* Exclude all the code except the test program at the end
|
|
diff -Paur --no-dereference -- make.upstream/job.c make/job.c
|
|
--- make.upstream/job.c
|
|
+++ make/job.c
|
|
@@ -67,6 +67,11 @@
|
|
char default_shell[] = "";
|
|
int batch_mode_shell = 0;
|
|
|
|
+#elif defined (__sortix__)
|
|
+
|
|
+char default_shell[] = "sh";
|
|
+int batch_mode_shell = 0;
|
|
+
|
|
#else
|
|
|
|
char default_shell[] = "/bin/sh";
|
|
diff -Paur --no-dereference -- make.upstream/main.c make/main.c
|
|
--- make.upstream/main.c
|
|
+++ make/main.c
|
|
@@ -2393,9 +2393,9 @@
|
|
if (restarts)
|
|
{
|
|
char *b = alloca (40);
|
|
- sprintf (b, "MAKE_RESTARTS=%s%u",
|
|
+ sprintf (b, "%s%u",
|
|
OUTPUT_IS_TRACED () ? "-" : "", restarts);
|
|
- putenv (b);
|
|
+ setenv ("MAKE_RESTARTS", b, 1);
|
|
}
|
|
|
|
fflush (stdout);
|
|
diff -Paur --no-dereference -- make.upstream/misc.c make/misc.c
|
|
--- make.upstream/misc.c
|
|
+++ make/misc.c
|
|
@@ -710,6 +710,9 @@
|
|
unsigned int
|
|
get_path_max (void)
|
|
{
|
|
+#if defined(__sortix__)
|
|
+ return 32768;
|
|
+#else
|
|
static unsigned int value;
|
|
|
|
if (value == 0)
|
|
@@ -722,5 +725,6 @@
|
|
}
|
|
|
|
return value;
|
|
+#endif
|
|
}
|
|
#endif
|
|
diff -Paur --no-dereference -- make.upstream/output.c make/output.c
|
|
--- make.upstream/output.c
|
|
+++ make/output.c
|
|
@@ -278,6 +278,10 @@
|
|
static void *
|
|
acquire_semaphore (void)
|
|
{
|
|
+#if defined(__sortix__)
|
|
+ static int foo;
|
|
+ return &foo;
|
|
+#else
|
|
static struct flock fl;
|
|
|
|
fl.l_type = F_WRLCK;
|
|
@@ -288,16 +292,21 @@
|
|
return &fl;
|
|
perror ("fcntl()");
|
|
return NULL;
|
|
+#endif
|
|
}
|
|
|
|
/* Release the lock for writing output. */
|
|
static void
|
|
release_semaphore (void *sem)
|
|
{
|
|
+#if defined(__sortix__)
|
|
+ (void) sem;
|
|
+#else
|
|
struct flock *flp = (struct flock *)sem;
|
|
flp->l_type = F_UNLCK;
|
|
if (fcntl (sync_handle, F_SETLKW, flp) == -1)
|
|
perror ("fcntl()");
|
|
+#endif
|
|
}
|
|
|
|
/* Returns a file descriptor to a temporary file. The file is automatically
|