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

Attachment: 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

Reply via email to