Geert Uytterhoeven dixit:
It turned out the flags parameter was non-zero, due to syscall() only supporting up to 5 parameters in the glibc I was using for testing. I checked the eglibc sources (2.11.1-0ubuntu7.8), and it's still not fixed there, although I could find a fix for a similar issue in klibc (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=334917).
Does this work for you? Index: eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/syscall.S =================================================================== --- eglibc-2.13.orig/ports/sysdeps/unix/sysv/linux/m68k/syscall.S 2011-12-04 14:36:16.000000000 +0000 +++ eglibc-2.13/ports/sysdeps/unix/sysv/linux/m68k/syscall.S 2011-12-04 14:36:26.000000000 +0000 @@ -24,9 +24,9 @@ .text ENTRY (syscall) move.l 4(%sp), %d0 /* Load syscall number. */ - _DOARGS_5 (24) /* Frob arguments. */ + _DOARGS_6 (28) /* Frob arguments. */ trap &0 /* Do the system call. */ - UNDOARGS_5 /* Unfrob arguments. */ + UNDOARGS_6 /* Unfrob arguments. */ cmp.l &-4095, %d0 /* Check %d0 for error. */ jcc SYSCALL_ERROR_LABEL /* Jump to error handler if negative. */ rts /* Return to caller. */ bye, //mirabilos -- “Having a smoking section in a restaurant is like having a peeing section in a swimming pool.” -- Edward Burr -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html