I'm trying to build the current glibc with my RaQ2, everything builds ok, until I start compiling strace.
syscall.c: In function `dumpio': syscall.c:449: error: `SYS_read' undeclared (first use in this function) syscall.c:449: error: (Each undeclared identifier is reported only once syscall.c:449: error: for each function it appears in.) syscall.c:465: error: `SYS_write' undeclared (first use in this function) syscall.c: In function `syscall_fixup': syscall.c:1265: warning: unused variable `pid' syscall.c: In function `trace_syscall': syscall.c:2481: error: `SYS_exit' undeclared (first use in this function) make[1]: *** [syscall.o] Error 1 make[1]: Leaving directory `/usr/src/strace-4.5.9' make: *** [all] Error 2
Which leads me to check syscall.h, then I noticed a big difference from my x86 version to this version, all the SYS_ entries are missing. Did I build it wrong or is this a glibc issue, due to the addition of the mips32 and mips64 directories.
Here is my bug report with the glibc folks for everyone's reference. http://sources.redhat.com/bugzilla/show_bug.cgi?id=758
We've bumped into this on the gentoo-side of things. The fix we're using (for now) is this a modified version of this patch here: http://lists.debian.org/debian-mips/2004/01/msg00036.html
The above patch wasn't intended for 2.3.4 by default I believe, so it doesn't apply cleanly. It had to be re-diffed for 2.3.4. You can find this version here: http://dev.gentoo.org/~kumba/tmp/6630_mips_fix-syscall_h-again.patch
The resulting bits/syscall.h isn't the cleanest thing, but strace will build against it and it does appear to work.
--Kumba
--
"Such is oft the course of deeds that move the wheels of the world: small hands do them because they must, while the eyes of the great are elsewhere." --Elrond