On Tuesday 17 March 2009 05:36:05 ipif wrote: > Stephane Chazelas wrote: > > 2009-03-12, 06:47(-07), ipif: > > [...] > > > >> sh-3.2# bash > >> bash: command_substitute: cannot duplicate pipe as fd 1: Bad file > >> descriptor > >> > >> (currently I'm using bash as init) > > > > [...] > > > >> In my opinion this problem might not be bash related, but I have no idea > >> what goes wrong. Unfortunately gdb seems to rely on some shell > >> functions, so > >> I can't use it. > >> > >> No idea if this is helpfull: here is the end of strace's output: > > > > [...] > > > >> stat64("//.dir_colors", 0xefc665c0) = -1 ENOENT (No such file or > >> directory) > >> stat64("/etc/DIR_COLORS", {st_mode=S_IFREG|0644, st_size=4038, ...}) = 0 > >> pipe([3, 4]) = 3 > >> fork(bash: command_substitute: cannot duplicate pipe as fd 1: Bad file > >> descriptor > >> ) = 660 > > > > [...] > > The return value of pipe() is quite surprising there. pipe(2) is > > meant to return either 0 or -1, so it looks like a problem in > > your Linux kernel (or strace), possibly some mess up with the > > system call numbers? > > [...] > > Thank you for pointing this out. Somehow the pipe system call was not > implemented for sparc in uclibc. I fixed that by porting it from glibc.
hopefully you've sent this fix to the uClibc lists as well ;) the sparc port can use all the love it can get -mike
signature.asc
Description: This is a digitally signed message part.