-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 found 328209 0.30.204-5sarge2 tags +patch thanks
Ola Lundqvist wrote: > I'm aware of this problem. Not really sure that it should be considered > grave but as we have a solution to it I do not really bother. I considered it as grave beause util-vserver package in sarge is unuseable on all non-i386 machines(It should be FTBFS, but it compiled on the buildd). The attached patch is a backported from Bertl's delta-0.30.208-fix03-fix04-hack.diff to sarge, it fixs the syscall number detection on no vserver patched kernel. - -Andrew -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) iD8DBQFDYelwnQYz4bYlCYURAuH3AKDV3WAX9jDVw2HkTxD/xXnl77JTcQCffzKz rrqj2294Tjm48Jt2pJ8vIN8= =AD3H -----END PGP SIGNATURE-----
diff -urN util-vserver-0.30.204.orig/configure util-vserver-0.30.204/configure --- util-vserver-0.30.204.orig/configure 2005-02-16 07:14:42.000000000 +0800 +++ util-vserver-0.30.204/configure 2005-10-28 16:42:17.166831216 +0800 @@ -23746,8 +23746,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF - +#if (ENSC_MARK == alternative) +#include <vserver-syscall-def.h> +#else #include <asm/unistd.h> +#endif #ifdef __NR_vserver ensc_syscall_tmp_nr=__NR_vserver; ensc_syscall_tmp_src=ENSC_MARK @@ -23757,6 +23760,8 @@ ensc_syscall_tmp_nr= ensc_syscall_tmp_src= test "$ensc_syscall_tmp_nr" || \ + eval $($CPP $CPPFLAGS -D ENSC_MARK='alternative' -Ilib conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$') + test "$ensc_syscall_tmp_nr" || \ eval $($CPP $CPPFLAGS -D ENSC_MARK='glibc' conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$') test "$ensc_syscall_tmp_nr" || \ eval $($CPP $CPPFLAGS -D ENSC_MARK='kernel' -I $ensc_cv_path_kernelheaders conftest.c | $EGREP '^ensc_syscall_tmp_(nr=[1-9][0-9]*;|src=.*)$') @@ -23878,7 +23883,7 @@ echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 -ensc_cv_test_syscall=traditional +ensc_cv_test_syscall=alternative fi rm -f conftest.err conftest.$ac_objext conftest.$ac_ext diff -urN util-vserver-0.30.204.orig/lib/syscall-wrap.h util-vserver-0.30.204/lib/syscall-wrap.h --- util-vserver-0.30.204.orig/lib/syscall-wrap.h 1970-01-01 08:00:00.000000000 +0800 +++ util-vserver-0.30.204/lib/syscall-wrap.h 2005-10-28 16:40:36.884076512 +0800 @@ -0,0 +1,42 @@ +// $Id: syscall-wrap.h,v 1.2 2005/05/02 21:42:05 ensc Exp $ --*- c -*-- + +// Copyright (C) 2005 Enrico Scholz <[EMAIL PROTECTED]> +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; version 2 of the License. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +#ifndef H_UTIL_VSERVER_LIB_SYSCALL_WRAP_H +#define H_UTIL_VSERVER_LIB_SYSCALL_WRAP_H + +#ifdef ENSC_USE_ALTERNATIVE_SYSCALL_MACROS + +# undef _syscall0 +# undef _syscall1 +# undef _syscall2 +# undef _syscall3 +# undef _syscall4 +# undef _syscall5 +# undef _syscall6 +# undef _syscall7 + +# include "syscall-alternative.h" +# include "vserver-syscall-def.h" +#else + +# include <sys/syscall.h> +# include <syscall.h> +# include <unistd.h> +#endif + +#endif // H_UTIL_VSERVER_LIB_SYSCALL_WRAP_H diff -urN util-vserver-0.30.204.orig/lib/vserver-internal.h util-vserver-0.30.204/lib/vserver-internal.h --- util-vserver-0.30.204.orig/lib/vserver-internal.h 2004-09-23 05:48:24.000000000 +0800 +++ util-vserver-0.30.204/lib/vserver-internal.h 2005-10-28 16:40:36.886076208 +0800 @@ -225,9 +225,7 @@ return syscall(__NR_vserver, cmd, id, data); } #else -inline static UNUSED ALWAYSINLINE -_syscall3(int, vserver, - uint32_t, cmd, uint32_t, id, void *, data) +#include "vserver-syscall-def.h" #endif #endif diff -urN util-vserver-0.30.204.orig/lib/vserver-syscall-def.h util-vserver-0.30.204/lib/vserver-syscall-def.h --- util-vserver-0.30.204.orig/lib/vserver-syscall-def.h 1970-01-01 08:00:00.000000000 +0800 +++ util-vserver-0.30.204/lib/vserver-syscall-def.h 2005-10-28 16:40:36.887076056 +0800 @@ -0,0 +1,48 @@ + +#include <stdint.h> + +#include "syscall.h" + +#if defined(__alpha__) +#define __NR_vserver 428 +#elif defined(__arm__) +#define __NR_vserver 313 +#elif defined(__cris__) +#define __NR_vserver 273 +#elif defined(__frv__) +#define __NR_vserver 273 +#elif defined(__h8300__) +#define __NR_vserver 273 +#elif defined(__i386__) +#define __NR_vserver 273 +#elif defined(__ia64__) +#define __NR_vserver 1269 +#elif defined(__m32r__) +#define __NR_vserver * +#elif defined(__mc68000__) +#define __NR_vserver 278 +#elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI32) +#define __NR_vserver 277 +#elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_ABI64) +#define __NR_vserver 240 +#elif defined(__mips__) && (_MIPS_SIM == _MIPS_SIM_NABI32) +#define __NR_vserver 236 +#elif defined(__hppa__) +#define __NR_vserver 273 +#elif defined(__powerpc__) +#define __NR_vserver 257 +#elif defined(__s390__) +#define __NR_vserver 263 +#elif defined(__sh__) +#define __NR_vserver 273 +#elif defined(__sparc__) +#define __NR_vserver 267 +#elif defined(__v850__) +#define __NR_vserver * +#elif defined(__x86_64__) +#define __NR_vserver 236 +#endif + +static inline +_syscall3(int, vserver, uint32_t, cmd, uint32_t, id, void *, data); +