diff options
| author | Daniel Golle | 2020-07-25 15:30:29 +0000 |
|---|---|---|
| committer | Daniel Golle | 2020-07-25 15:31:29 +0000 |
| commit | 5cb3715a079c09d1e66a6455a246347c7cf7b998 (patch) | |
| tree | 01876a4bbac8a9b348ca14ae914700dd9a82dc96 | |
| parent | c482c5de77f4adf53cdd55c7ef391264ac189359 (diff) | |
| download | procd-5cb3715a079c09d1e66a6455a246347c7cf7b998.tar.gz | |
jail: fix build on glibc and uclibc
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
| -rw-r--r-- | jail/jail.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/jail/jail.c b/jail/jail.c index 0d13f58..7c9a25f 100644 --- a/jail/jail.c +++ b/jail/jail.c @@ -547,6 +547,17 @@ static int apply_sysctl(const char *jail_root) return 0; } +/* glibc defines makedev calling a function. make sure it's a pure macro */ +#if defined(__GLIBC__) +#undef makedev +/* from musl's sys/sysmacros.h */ +#define makedev(x,y) ( \ + (((x)&0xfffff000ULL) << 32) | \ + (((x)&0x00000fffULL) << 8) | \ + (((y)&0xffffff00ULL) << 12) | \ + (((y)&0x000000ffULL)) ) +#endif + static struct mknod_args default_devices[] = { { .path = "/dev/null", .mode = (S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH), .dev = makedev(1, 3) }, { .path = "/dev/zero", .mode = (S_IFCHR|S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH), .dev = makedev(1, 5) }, |