From 31dc2951c758698bff060aeae8ffd8854616183b Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Fri, 12 Feb 2016 19:25:02 +0100 Subject: [PATCH] Fix usage of __GLIBC_PREREQ for non-glibc toolchains The way __GLIBC_PREREQ() is currently used means that it's evaluated even if __GLIBC__ is not defined. But obviously, __GLIBC_PREREQ will not exist if __GLIBC__ is not defined, causing build failures on C libraries not defining __GLIBC__ such as the musl C library. Patch originally taken from: https://github.com/voidlinux/void-packages/blob/master/srcpkgs/numactl/patches/musl.patch Signed-off-by: Bernd Kuhls [Bernd: Reworked to fix uClibc] Signed-off-by: Thomas Petazzoni [Thomas: improve patch description.] [Upstream commit: https://github.com/numactl/numactl/commit/31dc2951c758698bff060aeae8ffd8854616183b] --- syscall.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/syscall.c b/syscall.c index 37782d9..255853d 100644 --- a/syscall.c +++ b/syscall.c @@ -115,7 +115,11 @@ #endif -#if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 11) +#ifndef __GLIBC_PREREQ +# define __GLIBC_PREREQ(x,y) 0 +#endif + +#if defined(__GLIBC__) && __GLIBC_PREREQ(2, 11) /* glibc 2.11 seems to have working 6 argument sycall. Use the glibc supplied syscall in this case.