-----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);
+       

Reply via email to