oskit/oskit-20020317/BUGS

58 lines
2.3 KiB
Plaintext
Executable File

Known bugs and problems in the OSKit as of September 1, 2000.
I'm sure we've forgotten a bunch of others.
For some of these, more details are in the file `BUGS.details'.
Bugs:
* There is a linking problem with the `-loskit_startup' library when using
GNU binutils 2.x ld in an a.out configuration, we think due to a bug in
that linker. (PR 220)
* The loopback interface does not work in the -lfreebsd_net stack. (PR 11)
* A few device drivers don't pass our testing; see linux/dev/README
for Linux device driver status.
Booting-related bugs:
See BUGS.details for more info. We have not had time to look into the
DOS and Linux problems. The third is elusive.
* The DOS boot adapter (dosboot.exe, in boot/dos) doesn't work.
Restrictions:
* The OSKit must be compiled with a mininum optimization of
-O (-O1 or -O2) because of problems with inline functions.
* The POSIX threads code has suffered bitrot and does not currently
run in SMP (Symmetric Multiprocessing) mode.
* Recently some of our libraries that are commonly used together have
developed more interdependencies than desirable. A result is that you
may have to stick them on the ld line more than once.
* oskit_sendsig_init creates a libc-on-libkernel dependency that we
should remove by replacing it with a dynamic interface or a
function pointer. For now, add another -loskit_kern.
* NetBoot (boot/net) uses a hardcoded name -> IP address table. In the
future it will use real DNS.
* The filesystem libraries (Linux and NetBSD) do permission checking.
This can cause problems when file access routines are built on top
of them. For example, implementing open("foo", O_WRONLY|O_CREAT, 0444)
in terms of the OSKit filesystem primitives doesn't work because
first a file is created with mode 0444 and then it is opened for
writing, which fails because the mode is 0444. Linux and BSD have
similar create and open VFS primitives but permission checking is
done a layer up. The OSKit interfaces should probably be like
that but such a major change requires more investigation.
* The documentation suffers from a number of maladies; see doc/README.doc.
Basic missing features:
* Console code: there is no `pager' so info scrolls off before you
can see it. At Utah we always debug via serial lines to other
machines, so we have not gotten around to adding this.