1995-02-22 04:00:48 +01:00
|
|
|
Status of Hurd support in libc. Last updated 21 Feb 95.
|
1995-02-18 02:27:10 +01:00
|
|
|
Roland McGrath <roland@gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
Everything not noted below is implemented, most of it tested. There are
|
|
|
|
various very small things unfinished or thought to be perhaps wrong
|
|
|
|
throughout the code, marked by comments containing `XXX'.
|
|
|
|
|
|
|
|
|
|
|
|
* We are not sure about possible races between setpgrp (A, pgrp) from
|
|
|
|
process B vs process A receiving proc_newids.
|
|
|
|
|
|
|
|
* The rest of libc (stdio et al) is not safe for multithreaded programs.
|
|
|
|
mutex locks should be added to various things.
|
|
|
|
|
|
|
|
* Recovery from faults in the signal thread is not implemented yet.
|
|
|
|
|
|
|
|
* longjmp needs to clean up reply port, intr_port; needs thought about.
|
|
|
|
|
|
|
|
* Cooperation with cthreads is not finished. If you link with cthreads,
|
|
|
|
libc internal code still does not use real condition variables.
|
|
|
|
sigsuspend currently does a busy wait where it should use a condition.
|
|
|
|
Signal state is per kernel thread; for unwired cthreads it should be per
|
|
|
|
cthread instead.
|
|
|
|
|
|
|
|
* sigaltstack/sigstack do not really work: the signal stack needs thread
|
|
|
|
variables and cthread data set up, which is not done.
|
|
|
|
|
|
|
|
* malloc is a kludge.
|
|
|
|
|
|
|
|
* Resource limits do not really work; current implementation is patchy and
|
|
|
|
inconsistent.
|
|
|
|
|
|
|
|
* libc implicitly uses some environment variables. This is a security
|
|
|
|
problem for setuid exec. Probably crt0 should remove the variables from
|
|
|
|
the environment if setuid.
|
|
|
|
|
|
|
|
* The miscellaneous msg.defs calls are only partially implemented.
|
|
|
|
|
|
|
|
* The default SIGINFO handler needs to be written.
|
|
|
|
|
|
|
|
* File locking is not implemented; the RPC interface is not there yet.
|
|
|
|
|
|
|
|
* The current getitimer/setitimer implementation is a kludge.
|
|
|
|
|
|
|
|
* mmap cannot do MAP_NOEXTEND.
|
|
|
|
|
|
|
|
* Unimplemented calls (from the 4.4 system call list):
|
|
|
|
acct
|
|
|
|
fstatfs
|
|
|
|
getfh
|
|
|
|
getfsstat
|
|
|
|
getrusage
|
|
|
|
madvise
|
|
|
|
mincore
|
|
|
|
mount
|
|
|
|
msync
|
|
|
|
profil
|
|
|
|
recvmsg
|
|
|
|
revoke
|
|
|
|
sendmsg
|
|
|
|
sstk
|
|
|
|
statfs
|
|
|
|
swapon
|
|
|
|
unmount
|