Le 4859 Septembre 1993, Ola Lundqvist a tapoté: > Hi again Hello,
> Now I know that gcc 4.2 is not generally available unfortunatly > so that is not an option... I tried with experimental gcc-4.2 and the problem persists. > I wonder which alternative that is best. To disable optimisation or > remove --enable-apis=NOLEGACY... For sparc only of course. According to Daniel Hozac, the only workaround he can see is --disable-alternative-syscalls, I test it and it works. I build a debian package and it works, I include a diff. Maybe adding a condition about gcc >= 4.1 ? I remove unnecessary definition of syscall when using dietlibc with traditional syscalls. Regards. -- Daniel Dehennin Récupérer ma clef GPG: gpg --keyserver pgp.mit.edu --recv-keys 0x6A2540D1
pgpwUOE8PtHzw.pgp
Description: PGP signature
diff -Nru util-vserver-0.30.212.old/debian/changelog util-vserver-0.30.212/debian/changelog
--- util-vserver-0.30.212.old/debian/changelog 2007-01-08 18:09:28.000000000 +0000
+++ util-vserver-0.30.212/debian/changelog 2007-01-08 17:47:39.000000000 +0000
@@ -1,3 +1,11 @@
+util-vserver (0.30.212-1-20070108) unstable; urgency=low
+
+ * Use --disable-alternative-syscalls on sparc
+ * dietlibc already declare syscall, remove useless ifdef __dietlibc__ with
+ ENSC_SYSCALL_TRADITIONAL
+
+ -- Daniel Dehennin <[EMAIL PROTECTED]> Mon, 8 Jan 2007 18:44:10 +0100
+
util-vserver (0.30.212-1) unstable; urgency=low
* New upstream release
diff -Nru util-vserver-0.30.212.old/debian/rules util-vserver-0.30.212/debian/rules
--- util-vserver-0.30.212.old/debian/rules 2007-01-08 18:09:28.000000000 +0000
+++ util-vserver-0.30.212/debian/rules 2007-01-08 17:40:19.000000000 +0000
@@ -40,6 +40,7 @@
# says this works and it is anyway the oldest sparc generation we
# support in Debian (or kernel/glibc).
CFLAGS += -mcpu=v8
+ confflags += --disable-alternative-syscalls
endif
ifeq ($(DEB_HOST_ARCH),hppa)
diff -Nru util-vserver-0.30.212.old/lib/vserver-internal.h util-vserver-0.30.212/lib/vserver-internal.h
--- util-vserver-0.30.212.old/lib/vserver-internal.h 2006-12-09 16:15:31.000000000 +0000
+++ util-vserver-0.30.212/lib/vserver-internal.h 2007-01-08 17:45:08.000000000 +0000
@@ -253,10 +253,6 @@
inline static UNUSED ALWAYSINLINE
int vserver(uint32_t cmd, uint32_t id, void *data)
{
-#if defined __dietlibc__
- extern long int syscall (long int __sysno, ...);
-#endif
-
return syscall(__NR_vserver, cmd, id, data);
}
#else
diff -Nru util-vserver-0.30.212.old/lib_internal/sys_clone.h util-vserver-0.30.212/lib_internal/sys_clone.h
--- util-vserver-0.30.212.old/lib_internal/sys_clone.h 2006-12-09 16:15:35.000000000 +0000
+++ util-vserver-0.30.212/lib_internal/sys_clone.h 2007-01-08 17:52:26.000000000 +0000
@@ -42,9 +42,6 @@
#ifdef __sparc__
int parent = getpid();
#endif
-#if defined(__dietlibc__) && defined(ENSC_SYSCALL_TRADITIONAL)
- extern long int syscall (long int __sysno, ...);
-#endif
#if defined(__s390__) && defined(ENSC_SYSCALL_TRADITIONAL)
ret = syscall(__NR__sys_clone, child_stack, flags);
diff -Nru util-vserver-0.30.212.old/lib_internal/sys_personality.h util-vserver-0.30.212/lib_internal/sys_personality.h
--- util-vserver-0.30.212.old/lib_internal/sys_personality.h 2006-12-09 16:15:35.000000000 +0000
+++ util-vserver-0.30.212/lib_internal/sys_personality.h 2007-01-08 17:56:37.000000000 +0000
@@ -28,10 +28,6 @@
inline static UNUSED ALWAYSINLINE
int sys_personality(int pers)
{
-#if defined __dietlibc__
- extern long int syscall (long int __sysno, ...);
-#endif
-
return syscall(__NR_sys_personality, pers);
}
#else

