bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Hurd patches (fix compilation)


From: Luca Weiss
Subject: Hurd patches (fix compilation)
Date: Tue, 12 Jun 2018 12:57:06 +0200

Hello,
I needed the following patches to build hurd commit 679b58fa.
All instances of "minor (", "major (", "makedev (" were prefixed with 
"gnu_dev_" because of errors like
../libfshelp/libfshelp.so: undefined reference to `minor'

And I added two includes:
* in pfinet/glue-include/linux/mm.h PAGE_SHIFT was not defined, but is in 
mach/vm_param.h
* in term/users.c e.g. SIGTSTP was not defined, but is in bits/signum-
generic.h which can be included with signal.h

Thanks,
Luca

diff --git a/isofs/rr.c b/isofs/rr.c
index 85aa5695..e9a672f7 100644
--- a/isofs/rr.c
+++ b/isofs/rr.c
@@ -347,7 +347,7 @@ rrip_work (struct dirrect *dr, struct rrip_lookup *rr,
          struct rr_pn *pn = body;
 
          rr->valid |= VALID_PN;
-         rr->rdev = makedev (isonum_733 (pn->high), isonum_733 (pn->low));
+         rr->rdev = gnu_dev_makedev (isonum_733 (pn->high), isonum_733 
(pn->low));
 
          goto next_field;
        }
diff --git a/libdiskfs/file-set-trans.c b/libdiskfs/file-set-trans.c
index de52ba49..405a7861 100644
--- a/libdiskfs/file-set-trans.c
+++ b/libdiskfs/file-set-trans.c
@@ -159,13 +159,13 @@ diskfs_S_file_set_translator (struct protid *cred,
                  minor = strtol (arg, 0, 0);
 
                  err = diskfs_validate_rdev_change (np,
-                                                      makedev (major, minor));
+                                                      gnu_dev_makedev (major, 
minor));
                  if (err)
                    {
                      pthread_mutex_unlock (&np->lock);
                      return err;
                    }
-                 np->dn_stat.st_rdev = makedev (major, minor);
+                 np->dn_stat.st_rdev = gnu_dev_makedev (major, minor);
                }
 
              err = diskfs_truncate (np, 0);
diff --git a/libfshelp/fetch-root.c b/libfshelp/fetch-root.c
index 0248f11d..082308da 100644
--- a/libfshelp/fetch-root.c
+++ b/libfshelp/fetch-root.c
@@ -216,8 +216,8 @@ fshelp_short_circuited_callback1 (void *cookie1, void 
*cookie2,
       if (asprintf (argz, "%s%c%d%c%d",
                    (S_ISCHR (*statc->modep)
                     ? _HURD_CHRDEV : _HURD_BLKDEV),
-                   0, major (statc->statp->st_rdev),
-                   0, minor (statc->statp->st_rdev)) < 0)
+                   0, gnu_dev_major (statc->statp->st_rdev),
+                   0, gnu_dev_minor (statc->statp->st_rdev)) < 0)
        return ENOMEM;
       *argz_len = strlen (*argz) + 1;
       *argz_len += strlen (*argz + *argz_len) + 1;
diff --git a/libnetfs/file-get-translator.c b/libnetfs/file-get-translator.c
index 3a54ff10..9a5c425d 100644
--- a/libnetfs/file-get-translator.c
+++ b/libnetfs/file-get-translator.c
@@ -71,8 +71,8 @@ netfs_S_file_get_translator (struct protid *user,
                         (S_ISCHR (np->nn_stat.st_mode)
                          ? _HURD_CHRDEV
                          : _HURD_BLKDEV),
-                        '\0', major (np->nn_stat.st_rdev),
-                        '\0', minor (np->nn_stat.st_rdev));
+                        '\0', gnu_dev_major (np->nn_stat.st_rdev),
+                        '\0', gnu_dev_minor (np->nn_stat.st_rdev));
       if (buflen < 0)
        err = ENOMEM;
       else
diff --git a/libnetfs/file-set-translator.c b/libnetfs/file-set-translator.c
index 2b71848c..4fc591e8 100644
--- a/libnetfs/file-set-translator.c
+++ b/libnetfs/file-set-translator.c
@@ -140,7 +140,7 @@ netfs_S_file_set_translator (struct protid *user,
          minor = strtol (arg, 0, 0);
 
          err = netfs_attempt_mkdev (user->user, np,
-                                    newmode, makedev (major, minor));
+                                    newmode, gnu_dev_makedev (major, minor));
          if (err == EOPNOTSUPP)
            goto fallback;
          break;
diff --git a/nfs/nfs.c b/nfs/nfs.c
index c4d3e157..1a8b1d42 100644
--- a/nfs/nfs.c
+++ b/nfs/nfs.c
@@ -466,7 +466,7 @@ xdr_decode_fattr (int *p, struct stat *st)
       p++;
       minor = ntohl (*p);
       p++;
-      st->st_rdev = makedev (major, minor);
+      st->st_rdev = gnu_dev_makedev (major, minor);
     }
   st->st_fsid = ntohl (*p);
   p++;
diff --git a/nfs/ops.c b/nfs/ops.c
index 03690b75..b5a80005 100644
--- a/nfs/ops.c
+++ b/nfs/ops.c
@@ -1037,8 +1037,8 @@ netfs_attempt_link (struct iouser *cred, struct node 
*dir,
          p = xdr_encode_sattr_stat (p, &np->nn_stat);
          if (np->nn->dtrans == BLKDEV || np->nn->dtrans == CHRDEV)
            {
-             *(p++) = htonl (major (np->nn_stat.st_rdev));
-             *(p++) = htonl (minor (np->nn_stat.st_rdev));
+             *(p++) = htonl (gnu_dev_major (np->nn_stat.st_rdev));
+             *(p++) = htonl (gnu_dev_minor (np->nn_stat.st_rdev));
            }
          pthread_mutex_unlock (&np->lock);
 
diff --git a/pfinet/glue-include/linux/mm.h b/pfinet/glue-include/linux/mm.h
index 546776e8..d0fa9eab 100644
--- a/pfinet/glue-include/linux/mm.h
+++ b/pfinet/glue-include/linux/mm.h
@@ -18,6 +18,7 @@
 #include <mach.h>
 #include <sys/mman.h>
 #include <stdint.h>
+#include <mach/vm_param.h>
 
 #define PAGE_SIZE      (1 << PAGE_SHIFT)
 
diff --git a/storeio/storeio.c b/storeio/storeio.c
index 515944ed..96ea6823 100644
--- a/storeio/storeio.c
+++ b/storeio/storeio.c
@@ -83,7 +83,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
          /* MAJOR,MINOR form */
          {
            start = end + 1;
-           rdev = makedev (rdev, strtoul (start, &end, 0));
+           rdev = gnu_dev_makedev (rdev, strtoul (start, &end, 0));
          }
 
        if (end == start || *end != '\0')
@@ -164,7 +164,7 @@ trivfs_append_args (struct trivfs_control *trivfs_control,
     {
       char buf[40];
       snprintf (buf, sizeof buf, "--rdev=%d,%d",
-               major (dev->rdev), minor (dev->rdev));
+               gnu_dev_major (dev->rdev), gnu_dev_minor (dev->rdev));
       err = argz_add (argz, argz_len, buf);
     }
 
diff --git a/term/users.c b/term/users.c
index 4e8368e7..ff9888e1 100644
--- a/term/users.c
+++ b/term/users.c
@@ -32,6 +32,7 @@
 #include <hurd/fshelp.h>
 #include <error.h>
 #include "ourmsg_U.h"
+#include <signal.h>
 
 
 #undef ECHO
diff --git a/trans/fakeroot.c b/trans/fakeroot.c
index 6ef93327..7313a98e 100644
--- a/trans/fakeroot.c
+++ b/trans/fakeroot.c
@@ -659,7 +659,7 @@ netfs_attempt_mkdev (struct iouser *cred, struct node *np,
   char *trans = 0;
   int translen = asprintf (&trans, "%s%c%d%c%d",
                           S_ISCHR (type) ? _HURD_CHRDEV : _HURD_BLKDEV,
-                          '\0', major (indexes), '\0', minor (indexes));
+                          '\0', gnu_dev_major (indexes), '\0', gnu_dev_minor 
(indexes));
   if (trans == 0)
     return ENOMEM;
   else







reply via email to

[Prev in Thread] Current Thread [Next in Thread]