1SYSTEM CALLS 2The system call table (syscalls/syscall.dat) is constantly changing, using 3skewed versions is _very_ likely to give you segfaults and strange behaviour. 4For this lib you should use the same version of elksemu. 5The system call table will only be frozen when the linux-86 kernel is 6running and reasonably stable. The 386 version is using a distinct list 7that matches the Linux-i386 syscall list. 8 9THE COMPILER 10You should use the versions of bcc, unproto, as86, ld86 and elksemu that 11are in this version of the combined development environment. Some other 12versions will work but often they'll just appear to work or not work at 13all. The original bcc-cc1 won't pickup the right header files, the 14original ld86 won't generate COM files or 386-Linux files and looks in 15the wrong place for crt0.o and libc.a. The original as is just plain 16broken! 17 18Main Subdirectories. 19 20bcc Lots of BCC helper functions 21bios Minimal 'system' calls for standalone executables. 22error The C error functions. 23getent Routines for /etc/group, /etc/passwd and /etc/utmp 24gtermcap GNU termcap 25i386fp BCC's floating point routines for 386 code. 26include Some include files, some new others Glib or Glib hacked. 27kinclude Kernel include files, here for now. 28malloc Malloc routines 29misc Various larger functions 30msdos This is the syscall directory for msdos. 31regexp Standard regular expression parser 32stdio Robert's standard I/O 33string The functions for string.h 34syscall All the system call functions, and some tied lib ones. 35termios Termimal mode control. 36time Unix time related functions. 37 38Directory structure: 39 40 The top Makefile will try to call any "Makefile" it finds in a 41 subdirectory, so to add a new chunk to "libc.a" just drop in 42 the directory a Makefile that understands "make clean" and 43 "make libc.a" (Which must also update ../libc.a) 44 There's now a tiny script (New_subdir) that'll do this. 45 46 Make config will look in all subdirectories for a file 'Config' 47 any it finds will be displayed and can be used to switch a directory 48 on or off. 49 50 The exit(rv) function is already defined. It will call the contents 51 of the function pointer (*__cleanup)() before it calls _exit(); 52 This pointer should be used through the 'atexit' or 'on_exit' lib 53 functions. (See standard man pages) 54 55 If you need to call something before main see the file 'Pre_main'. 56 57-Robert 58 59-=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- 60