From: John Spencer <maillist-q...@barfooze.de> this declaration is wrong: the correct prototype on linux is: int setgroups(size_t size, const gid_t *list);
since by default musl libc exposes this symbol in unistd.h additionally to grp.h, the wrong declaration causes a build error. the proper fix is to simply include the correct header. Signed-off-by: John Spencer <maillist-q...@barfooze.de> Reviewed-by: Stefan Weil <s...@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> --- linux-user/syscall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 31d5276..275260a 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -28,6 +28,7 @@ #include <fcntl.h> #include <time.h> #include <limits.h> +#include <grp.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> @@ -584,7 +585,6 @@ extern int personality(int); extern int flock(int, int); extern int setfsuid(int); extern int setfsgid(int); -extern int setgroups(int, gid_t *); /* ARM EABI and MIPS expect 64bit types aligned even on pairs or registers */ #ifdef TARGET_ARM -- 1.8.0.2