Subject: 2.5 n32 syscall numbers are wrong

From: Daniel Jacobowitz <[email-masked]>
Date: Tue, 23 Dec 2003 12:57:32 -0500

If you take a look at scall64-n32.S, you'll find that there's no hole after
sendfile64.  But in <asm/unistd.h> there is.  So glibc gets built with the
wrong number for clock_gettime and confusion ensues...

Index: unistd.h
===================================================================
RCS file: /home/cvs/linux/include/asm-mips/unistd.h,v
retrieving revision 1.55
diff -u -p -r1.55 unistd.h
--- unistd.h	9 Oct 2003 15:43:22 -0000	1.55
+++ unistd.h	23 Dec 2003 17:56:25 -0000
@@ -769,17 +769,17 @@
 #define __NR_statfs64			(__NR_Linux + 217)
 #define __NR_fstatfs64			(__NR_Linux + 218)
 #define __NR_sendfile64			(__NR_Linux + 219)
-#define __NR_timer_create		(__NR_Linux + 221)
-#define __NR_timer_settime		(__NR_Linux + 222)
-#define __NR_timer_gettime		(__NR_Linux + 223)
-#define __NR_timer_getoverrun		(__NR_Linux + 224)
-#define __NR_timer_delete		(__NR_Linux + 225)
-#define __NR_clock_settime		(__NR_Linux + 226)
-#define __NR_clock_gettime		(__NR_Linux + 227)
-#define __NR_clock_getres		(__NR_Linux + 228)
-#define __NR_clock_nanosleep		(__NR_Linux + 229)
-#define __NR_tgkill			(__NR_Linux + 230)
-#define __NR_utimes			(__NR_Linux + 231)
+#define __NR_timer_create		(__NR_Linux + 220)
+#define __NR_timer_settime		(__NR_Linux + 221)
+#define __NR_timer_gettime		(__NR_Linux + 222)
+#define __NR_timer_getoverrun		(__NR_Linux + 223)
+#define __NR_timer_delete		(__NR_Linux + 224)
+#define __NR_clock_settime		(__NR_Linux + 225)
+#define __NR_clock_gettime		(__NR_Linux + 226)
+#define __NR_clock_getres		(__NR_Linux + 227)
+#define __NR_clock_nanosleep		(__NR_Linux + 228)
+#define __NR_tgkill			(__NR_Linux + 229)
+#define __NR_utimes			(__NR_Linux + 230)
 
 /*
  * Offset of the last N32 flavoured syscall

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

---

From: Ralf Baechle <[email-masked]>
Date: Mon, 29 Dec 2003 01:25:50 +0100

> wrong number for clock_gettime and confusion ensues...

Applied.  I also fixed __NR_Linux_syscalls and __NR_N32_Linux_syscalls
which also were off by one but didn't get fixed by your patch.

  Ralf