* added compilers lcc and bcc (linux86)
[mascara-docs.git] / compilers / linux86-0.16.17 / libc / README
blob89e018859681678ca142127a49902cf05f610cd3
1 SYSTEM CALLS
2 The system call table (syscalls/syscall.dat) is constantly changing, using
3 skewed versions is _very_ likely to give you segfaults and strange behaviour.
4 For this lib you should use the same version of elksemu.
5 The system call table will only be frozen when the linux-86 kernel is
6 running and reasonably stable. The 386 version is using a distinct list 
7 that matches the Linux-i386 syscall list.
9 THE COMPILER
10 You should use the versions of bcc, unproto, as86, ld86 and elksemu that
11 are in this version of the combined development environment. Some other
12 versions will work but often they'll just appear to work or not work at
13 all. The original bcc-cc1 won't pickup the right header files, the
14 original ld86 won't generate COM files or 386-Linux files and looks in
15 the wrong place for crt0.o and libc.a. The original as is just plain
16 broken!
18 Main Subdirectories.
20 bcc             Lots of BCC helper functions
21 bios            Minimal 'system' calls for standalone executables.
22 error           The C error functions.
23 getent          Routines for /etc/group, /etc/passwd and /etc/utmp
24 gtermcap        GNU termcap
25 i386fp          BCC's floating point routines for 386 code.
26 include         Some include files, some new others Glib or Glib hacked.
27 kinclude        Kernel include files, here for now.
28 malloc          Malloc routines
29 misc            Various larger functions
30 msdos           This is the syscall directory for msdos.
31 regexp          Standard regular expression parser
32 stdio           Robert's standard I/O
33 string          The functions for string.h
34 syscall         All the system call functions, and some tied lib ones.
35 termios         Termimal mode control.
36 time            Unix time related functions.
38 Directory structure:
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.
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.
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)
55       If you need to call something before main see the file 'Pre_main'.
57 -Robert
59 -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=- -=*=-