added yum-2.6.0-chroot.patch
[util-vserver.git] / util-vserver / m4 / ensc_dietlibc_compat.m4
index fb7735f..36e3b94 100644 (file)
@@ -18,6 +18,7 @@ dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 AC_DEFUN([ENSC_DIETLIBC_NEED_COMPAT],
 [
        AC_REQUIRE([ENSC_ENABLE_DIETLIBC])
+       AC_REQUIRE([ENSC_SYSCALL_ALTERNATIVE])
        AC_CACHE_CHECK([whether dietlibc needs '-lcompat'], [ensc_cv_c_dietlibc_compat],
        [
                AC_LANG_PUSH(C)
@@ -25,14 +26,23 @@ AC_DEFUN([ENSC_DIETLIBC_NEED_COMPAT],
                CC="${DIET:-diet} $CC"
                AC_LINK_IFELSE([
                        AC_LANG_PROGRAM([
-#include <sys/syscall.h>
-#include <unistd.h>
+#include "$srcdir/lib/syscall-wrap.h"
 #include <errno.h>
 
-#define __NR_foo               0
-inline static _syscall0(int, foo)
+#define __NR_foo0              42
+#define __NR_foo1              42
+#define __NR_foo2              42
+#define __NR_foo3              42
+#define __NR_foo4              42
+#define __NR_foo5              42
+inline static _syscall0(int, foo0)
+inline static _syscall1(int, foo1, int, a)
+inline static _syscall2(int, foo2, int, a, int, b)
+inline static _syscall3(int, foo3, int, a, int, b, int, c)
+inline static _syscall4(int, foo4, int, a, int, b, int, c, int, d)
+inline static _syscall5(int, foo5, int, a, int, b, int, c, int, d, int, e)
 ],
-                       [foo()])],
+                       [foo0(); foo1(0); foo2(0,0); foo3(0,0,0); foo4(0,0,0,0); foo5(0,0,0,0,0);])],
                        [ensc_cv_c_dietlibc_compat=no],
                        [ensc_cv_c_dietlibc_compat=yes])
                CC=$ensc_dietlibc_need_compat_old_CC