X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fm4%2Fensc_dietlibc_compat.m4;h=36e3b9474d3479a4d01228055c4c415df1df0904;hb=faa778968d1a7dfeaebc9fe4b847e691dc62fd15;hp=fb7735fc24851f2147f6cf985b232f930371716c;hpb=87998f16e18ddeb456442018592a4787a5cbef4d;p=util-vserver.git diff --git a/util-vserver/m4/ensc_dietlibc_compat.m4 b/util-vserver/m4/ensc_dietlibc_compat.m4 index fb7735f..36e3b94 100644 --- a/util-vserver/m4/ensc_dietlibc_compat.m4 +++ b/util-vserver/m4/ensc_dietlibc_compat.m4 @@ -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 -#include +#include "$srcdir/lib/syscall-wrap.h" #include -#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