From 5cb3715a079c09d1e66a6455a246347c7cf7b998 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sat, 25 Jul 2020 16:30:29 +0100 Subject: [PATCH] jail: fix build on glibc and uclibc Signed-off-by: Daniel Golle --- jail/jail.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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) }, -- 2.30.2