Re: libc6 select problems?
Mark W. Eichin wrote: Now I just need to find sources for the debian build of silo (they're not on ftp.debian.org, tsk tsk!) so I can patch it to understand x86-byte-order root partitions... Uh? Aren't the sources on ftp.debian.org? I have uploaded a silo package a lot of time ago (now I'm working on a glibc silo), and sources should be there. I can't verify, my connection is terribly slow. Well, I should search them on my hard disk. Ciao -- Davide Barbieri - [EMAIL PROTECTED] - [EMAIL PROTECTED] (Sparc Debian) PGP fingerprint = CD 8D A9 1E DB 0C B0 16 F8 2F BF 63 52 49 8B A8 -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Uh? Aren't the sources on ftp.debian.org? In fact, they are not. The binary is in unstable/binary-sparc/base; there is nothing matching unstable/source/*/sil* at all. (This is in my own local mirror of ftp.debian.org, but I've never seen it drop anything, especially anything that should have been there for a long time.) I have uploaded a silo package a lot of time ago (now I'm working on a glibc silo), and sources should be there. I can't verify, Any advice on what it would take to make it handle x86-created partitions (the kernel handles them fine...) -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
strace (was Re: libc6 select problems?)
Thanks. Since then I've also noticed that the vger.rutgers.edu:/pub/linux/Sparc/userland has a sparc strace rpm... That RPM is the same one as at the nuclecu site. Working with the strace-3.1 sources from vger, I found that they sort of work with libc6. There were a couple of little glitches (PEEKUSR vs. PEEKUSER), a major bug in libc6-dev (linux/socket.h and bits/socket.h have *totally conflicting* definitions of SOCK_*, MSG_*, and structs sockaddr, msghdr, and at least one other. The definitions are an enum in bits/socket.h but #defines in linux/socket.h... and funny, the C compiler doesn't like enum { 1 = 1; } very much :-) and lastly, strace (mem.c) needs some definitions from asm/mmap.h, that *aren't* in bits/mmap.h, but it only includes sys/mmap.h which now gets the latter. Anyway, I include the diffs to strace itself here; you should be able to figure out what to patch out of /usr/include/linux/socket.h yourself [I *suspect* that if you kill everything after the 3 #include's at the beginning it will be correct, but I leave that to others to get right.] If you can't get it to build, http://www.kitten.gen.ma.us/me/sparc-linux-strace.exe temporarily has a copy of the binary (244K, over a 28.8 link - be patient or don't bother :-) _Mark_ [EMAIL PROTECTED] The Herd of Kittens diff -wurp strace-3.1.orig/defs.h strace-3.1/defs.h --- strace-3.1.orig/defs.h Tue Jul 30 01:00:58 1996 +++ strace-3.1/defs.h Mon Jan 5 14:57:44 1998 @@ -86,8 +86,10 @@ extern int ptrace(); #endif /* !SVR4 */ #ifdef LINUX +#ifndef __sparc__ /* eichin */ #definePTRACE_PEEKUSER PTRACE_PEEKUSR #definePTRACE_POKEUSER PTRACE_POKEUSR +#endif #ifdef ALPHA #define REG_R0 0 #define REG_A0 16 diff -wurp strace-3.1.orig/mem.c strace-3.1/mem.c --- strace-3.1.orig/mem.c Tue Sep 17 19:08:53 1996 +++ strace-3.1/mem.cTue Jan 6 03:21:40 1998 @@ -32,6 +32,7 @@ #include defs.h #include sys/mman.h +#include asm/mman.h /* eichin -- gets sunos stuff not in bits/mman.h? */ int sys_brk(tcp) diff -wurp strace-3.1.orig/process.c strace-3.1/process.c --- strace-3.1.orig/process.c Tue Jul 30 01:00:59 1996 +++ strace-3.1/process.cMon Jan 5 15:07:56 1998 @@ -1145,7 +1145,9 @@ struct tcb *tcp; tprintf(machine=\%s\, uname.machine); #ifdef LINUX #ifndef ALPHA +#ifndef SPARC tprintf(, domainname=\%s\, uname.domainname); +#endif /* SPARC */ #endif /* ALPHA */ #endif /* LINUX */ tprintf(}); -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Juan == Juan Cespedes [EMAIL PROTECTED] writes: Juan That's already done (-dev - -altdev), and it works. But I Juan think we shouldn't spend much time on libc5... there's plenty of Juan work to do with libc6, with X... Has anyone had a problem in getting ld.so to actually use the /usr/lib/libc5-compat line in /etc/ld.so.conf? Or is this just me and my wacked setup? :-) - PGP E4 70 6E 59 80 6A F5 78 63 32 BC FB 7A 08 53 4C __ _Debian GNU Johnie Ingram [EMAIL PROTECTED] mm mm / /(_)_ __ _ ___ __netgod irc.debian.org mm mm / / | | '_ \| | | \ \/ / m m m / /__| | | | | |_| |Those who do not understand UNIX mm mm \/_|_| |_|\__,_/_/\_\ are doomed to repeat it, poorly. GO BLUE -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
whh!!! yay!!! Excellent work! That's a *nasty* one. I can even see why it sometimes worked -- in the rsync code, the branch that does the select on one fd only happens if the operation on the other fd blocked, and if it went one way, the count was n+1 which was a valid fd, the other way it wasn't and the EBADF happenned. I've built a working kernel with this patch from the sparclinux-2.0-971208 sources (and note that modules in that kernel don't seem to work -- or at least NFS as a module doesn't...) I'm working on `strace'... there is a working version (in .rpm format) in ftp.nuclecu.unam.mx:/pub/Linux/Sparc-miguel (well, I cannot Thanks. Since then I've also noticed that the vger.rutgers.edu:/pub/linux/Sparc/userland has a sparc strace rpm... Now I just need to find sources for the debian build of silo (they're not on ftp.debian.org, tsk tsk!) so I can patch it to understand x86-byte-order root partitions... -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Juan Cespedes wrote: On 3 Jan 1998, Mark W. Eichin wrote: Now at least I've got someplace else to look. Question: where are the sources to the *libc5* that we're using? It's 5.3.12-mumble, not the debian standard 5.4.x, for which sources are on the mirrors, which doesn't have *any* sparc support that I can find... I think they are exactly the sources from RedHat, which have a lot of patches from David S. Miller and Miguel de Icaza. I have never built it (I think Davide Barbieri and Eric Delaunay did). I've put the source a long time ago on my ftp site (under lix.polytechnique.fr:/pub/Linux/debian/sparc/bo/source/libs). I'm now willing to work on libc5 to add some Debian specific stuff, like the utmp wrapper and move the -dev pkg to -altdev. Regards. -- Eric Delaunay | La guerre justifie l'existence des militaires. [EMAIL PROTECTED] | En les supprimant. Henri Jeanson (1900-1970) -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
On Sun, 4 Jan 1998, Eric Delaunay wrote: I've put the source a long time ago on my ftp site (under lix.polytechnique.fr:/pub/Linux/debian/sparc/bo/source/libs). I'm now willing to work on libc5 to add some Debian specific stuff, like the utmp wrapper and move the -dev pkg to -altdev. That's already done (-dev - -altdev), and it works. But I think we shouldn't spend much time on libc5... there's plenty of work to do with libc6, with X... -- Juan Cespedes -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Well, at least I've figured out that it isn't a kernel problem. I built xntpd and rsync using libc5-altdev and alt-gcc, and aside from a typo (already reported) in the alt sched.h, they both work fine. I'm not having much luck in figuring out where in glibc-sparc select itself is built, though (the Makefiles are a little too magic.) I'm about to just build it and read the logs and see hack on it from that direction... Is anyone working on gdb, or strace? Looks like we're stuck at the printf level of debugging right now, and that's kind of sad... strace needs actual porting (I got as far a build that did a fake_exec and ran the program, but didn't see any *real* syscalls), gdb uses the bfd it ships with, and that would need to be updated to a current sparc-linux-aware libbfd. It shouldn't be too hard to port, but still... emacs actually builds, starts up, and crashes as soon as it has painted the screen once. I wouldn't be surprised if it were more of the select bug, but there's no way to tell :-( Once we have gdb and emacs, I suspect everything else will just fall into place :-) -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Mark == Mark W Eichin [EMAIL PROTECTED] writes: Mark Is anyone working on gdb, or strace? Looks like we're stuck at Mark the printf level of debugging right now, and that's kind of Mark sad... strace needs actual porting (I got as far a build that I've got a working strace that seems to come from Miguel's strace-3.1-6.src.rpm. - PGP E4 70 6E 59 80 6A F5 78 63 32 BC FB 7A 08 53 4C __ _Debian GNU Johnie Ingram [EMAIL PROTECTED] mm mm / /(_)_ __ _ ___ __netgod irc.debian.org mm mm / / | | '_ \| | | \ \/ / m m m / /__| | | | | |_| |Those who do not understand UNIX mm mm \/_|_| |_|\__,_/_/\_\ are doomed to repeat it, poorly. GO BLUE -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Ah well, maybe I can start on X next weekend. It isn't really worth trying until we get more of this worked out (even if I do punt the -lpthread stuff, I'd rather not go further with a known broken libc when I've got useful small examples that break...) Just as a side note, I've been fiddling with compiling X (hey, what else am I going to do over the holidays?) and I've noticed a few minor problems. Most of them revolve around not #including termios.h and in one case a program needed to be compiled without -lpthread (it isn't part of the distribution, it's used to generate one header file; this was easier than fixing libc), but there are two major problems. Currently I can't compile the server because I'm missing ndbm.h. This is needed by the X server color routines (since, by default, Xsun uses a DBM file instead of rgb.txt for its color database). This could (and, IMHO, should) be fixed by sticking a #define USE_RGB_TXT at the appropriate spot in the config files. The only trick is finding that spot, which shouldn't be too hard. The second problem prevents a few utilities from compiling and seems to be a problem with gcc. If you have a global filehandle and initalize it to be equal to some pre-existing stream, such as stdout or stderr, gcc (2.7.2.3 on Debian/Sparc) doesn't compile it and complains that initalizer value not constant. However, if you use gcc on another platform it works okay. In short, this compiles: #include stdio.h void main() { FILE *foo = stdout; fprintf(foo, Hi!\n); } but not this: #include stdio.h FILE *foo = stdout; void main() { fprintf(foo, Hi!\n); } Both forms should work. I don't know enough about what gcc does under the hood to even pretend to know why the second form doesn't compile. I'm just curious to see if other people are experiencing the same sort of problems. Anyway, if you start working on X let me know and I'll give you a few patches to play with, including all those that RedHat uses to make Xsun work with Linux/Sparc. Good luck. -- Mike No .sig for you Shuey -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .
Re: libc6 select problems?
Mark == Mark W Eichin [EMAIL PROTECTED] writes: Mark with select. Both rsync and xntpd die (or spin) with errors Mark from select, reported as select error: Bad file descriptor. I Mark haevn't debugged it in any detail yet, has anyone else seen it, Mark and have suggestions? I've seen it with proftpd, which doesn't work at all: ./proftpd -n select() failed in server_loop(): Bad file descriptor select() failed in server_loop(): Bad file descriptor ... Fatal: select() failing repeatedly, shutting down. And apache 1.3b3 works but takes up enormous amounts of CPU time, possibly do to this problem. Unfortunately I have no idea how to fix it. :-) - PGP E4 70 6E 59 80 6A F5 78 63 32 BC FB 7A 08 53 4C __ _Debian GNU Johnie Ingram [EMAIL PROTECTED] mm mm / /(_)_ __ _ ___ __netgod irc.debian.org mm mm / / | | '_ \| | | \ \/ / m m m / /__| | | | | |_| |Those who do not understand UNIX mm mm \/_|_| |_|\__,_/_/\_\ are doomed to repeat it, poorly. GO BLUE -- TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word unsubscribe to [EMAIL PROTECTED] . Trouble? e-mail to [EMAIL PROTECTED] .