[klibc] mksh on klibc

Thorsten Glaser
Sat, 17 Jul 2010 19:55:23 -0000

Dixi quod?

>Builtins work fine, calling external programmes does
>not. It seems to hang in jobs.c:j_waitj() and sending
>it SIGCHLD seems to not trigger jobs.c:j_sigchld()
>at all. This is probably some kind of signals being
>not delivered correctly ? see here for a bug with the
>same symptoms: http://dev.haiku-os.org/ticket/5567
>http://dev.haiku-os.org/changeset/35836
>
>FWIW, mksh has the same problem on Syllable and Plan 9?
>but it seems this is a bug in the operating environment,
>not the shell.

With Debian unstable as of today, the same still happens.
Steps to produce an mksh executable:

% env CVS_RSH=ssh cvs -d _anoncvs at anoncvs.mirbsd.org:/cvs \
    co -PA mksh
% cd mksh
% env CC=klcc CPPFLAGS=-DMKSH_NO_LIMITS sh Build.sh -r

Then, ?./test.sh -v? fails, as does this:

tg at frozenfish:~/mksh $ ./mksh -c 'echo foo; ls; echo bar'
foo
Build.sh    check.t     eval.c  expr.o     jobs.c    lex.o   mksh
sh_flags.h    syn.c    var.c
CVS         dot.mkshrc  eval.o  funcs.c    jobs.o    main.c  mksh.1     shf.c
syn.o    var.o
Makefile    edit.c      exec.c  funcs.o    lalloc.c  main.o  setmode.c  shf.o
test.sh  var_spec.h
Rebuild.sh  edit.o      exec.o  histrap.c  lalloc.o  misc.c  setmode.o
signames.inc  tree.c
check.pl    emacsfn.h   expr.c  histrap.o  lex.c     misc.o  sh.h
strlcpy.c     tree.o
^C

I?d greatly appreciate if someone could look into this (it
used to work with earlier klibc versions, but they had the
kernel header (getrusage) and missing function issues that
have been fixed in later versions ? now only {g,s}etrlimit
are missing, hence -DMKSH_NO_LIMITS).

I?d really like to get rid of dietlibc on most architectu-
res for /bin/mksh-static and use klibc instead, it appears
to be better working and more actively maintained. (Maybe,
with mksh R40, which will have transitions in functionali-
ty, which is why I?d not recommend to do it before that, I
can convince you to drop the in-klibc dash in favour of my
shell? who knows.)

Thanks,
//mirabilos ? tg at debian.o
--
Support mksh as /bin/sh and RoQA dash NOW!
? src:bash (226 (243) bugs: 0 RC, 172 (186) I&N, 54 (57) M&W, 0 F&P)
? src:dash (65 (72) bugs: 4 (7) RC, 45 (49) I&N, 15 M&W, 1 F&P)
? src:mksh (2 bugs: 0 RC, 0 I&N, 2 M&W, 0 F&P)