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=d65066ffc642813bf168d561fe73cd5184ef6c2f;hpb=91371fc62de37f5f6ae8ea6ef06db7b38d2b0112;p=util-vserver.git diff --git a/util-vserver/m4/ensc_dietlibc_compat.m4 b/util-vserver/m4/ensc_dietlibc_compat.m4 index d65066f..36e3b94 100644 --- a/util-vserver/m4/ensc_dietlibc_compat.m4 +++ b/util-vserver/m4/ensc_dietlibc_compat.m4 @@ -18,24 +18,34 @@ 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) - old_CC=$CC + ensc_dietlibc_need_compat_old_CC=$CC 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=$old_CC + CC=$ensc_dietlibc_need_compat_old_CC AC_LANG_POP ])