From: Jake H. <jh...@po...> - 2005-02-08 19:24:10
|
Here's a quick .plan file from me with my work on the Syllable kernel. I'm focused right now on POSIX, UNIX03, and other stds. compliance for the maximum compatibility with Linux/GNU and other open-source applications, especially in preparation for freezing binary compatibility for Syllable 0.6.0. These would include: * Vanders' GNU libc port, which is rapidly nearing completion, but is missing a few critical pieces on the kernel side, e.g. truncate(). * the latest gcc 3.4.x branch, whether Fedora or Gentoo's regular ebuild updates; the latest ebuild ChangeLog in Gentoo says that gcc-3.4.3 has bugs in the SSE (PIII/PIV/AthlonXP) code generation so we should probably use a later code drop (Gentoo is using gcc-3.4.3.20050110). * I'm working on completing the Syllable-specific pty handling code for glibc 2.3.3 -- soon we will have openpty(), grantpt(), unlockpt(), ttyname(), ttyname_r(), ptsname(), and ptsname_r(). Those functions aren't used by most UNIX apps, but are critical for programs like xterm and ssh sessions (in fact all "terminals" except for the actual hardware serial port ttys that they are a simulation of) to work, as well as a requirement for porting the GNU testing utility dejagnu, which depends on a TCL extension called Expect. aterm and ssh are rock-solid for me so it's pretty obvious that our pty/tty code is working (mostly) correctly, but aterm is using a non-portable, old-style BSD way of creating ptys that should be upgraded to use the new pty API's. Interestingly, the pty code in vfs/pty.c will allow you to create a pty of *any* filename in /dev/pty/mst/ along with the matching file in /dev/pty/slv/. Right now aterm creates /dev/pty/mst/pty[0-10000]. I propose to use Linux/POSIX style /dev/pty/mst/[0-10000] and /dev/pty/slv/[0-10000], i.o.w. the filename would be just the number. On the master side, it may be better to switch to a single file, e.g. Linux and Solaris use /dev/ptmx for all masters and the slave side is /dev/pts/[0-10000]. I'll patch aterm to use the new GNU libc functions instead of opening the ptys by hand. There is about 100 lines of configuration stuff that the calls in -lutil, openpty() and forkpty() perform that aterm, openssh, etc. should be taking advantage of. * Timezones. We are very close to having zic running and installing compiled versions of all the timezone info in /usr/glibc/... This will enable us to upgrade DateTime to have actual functioning timezone support and programs like "date" to show the correct tz abbreviation. This being a PC system where users are equally likely to dual-boot into Windows as they are into Linux, DateTime should allow you to set whether your battery-backed clock is set to GMT or to your local timezone. Part II coming up... -Jake |