On 2 Jan 1998, Mark W. Eichin wrote:

> 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.

        It's a kernel problem.  I'll explain myself:
        There are two syscalls for select:

$ grep select /usr/include/asm/unistd.h
#define __NR_select              93 /* Common                                   
   */
#define __NR__newselect         230 /* Linux Specific                           
   */

        `libc5' uses the first one (93), but `libc6' uses the second
(230).  Both of them should work OK, but there's a little bug in the
kernel sources which makes it execute `llseek' instead of `select'
when the second syscall is used.  So, `select(n,...)' is
interpreted by the kernel as `llseek(n,...)'.  `llseek' returns EBADFD
if `n' isn't a valid file descriptor (and this is normally the case
when we use select).  See my previous mail to debian-devel for a
kernel patch.

> 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...

        Yes, it's real ugly... it's defined from
sysdeps/unix/Makefile, looking at file syscalls.list which is in
sysdeps/unix/sysv/linux.  It basically translates the call directly to
a system call.

> 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...

        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
remember exactly the path, but it was something like that).  It
compiles and runs OK as libc5... I'm working on porting it to libc6.

-- 
Juan Cespedes


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
[EMAIL PROTECTED] . 
Trouble?  e-mail to [EMAIL PROTECTED] .

Reply via email to