• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

bcc/H03-May-2022-2,0291,431

bios/H03-May-2022-2,2761,848

conio/H03-May-2022-367302

error/H03-May-2022-322244

getent/H03-May-2022-1,358755

gnu_i386/H03-May-2022-3,8753,474

gtermcap/H03-May-2022-1,6051,201

i386fp/H07-May-2022-2,3101,944

i386sys/H03-May-2022-1,036888

include/H29-Oct-2013-2,9112,019

kinclude/H29-Oct-2013-690567

malloc/H03-May-2022-616464

misc/H03-May-2022-2,2511,650

msdos/H03-May-2022-1,8321,493

regexp/H03-May-2022-2,4261,785

stdio/H03-May-2022-2,0721,635

string/H03-May-2022-1,089786

syscall/H03-May-2022-1,5341,245

termios/H03-May-2022-309231

time/H03-May-2022-298206

COPYINGH A D29-Oct-201324.7 KiB482399

Config.dfltH A D29-Oct-2013162 1817

Config_shH A D29-Oct-20133.4 KiB162139

KERNELH A D29-Oct-20131.3 KiB3828

Make.defsH A D03-May-20221.7 KiB9477

MakefileH A D03-May-20222.6 KiB10566

New_subdirH A D03-May-20221.6 KiB6344

Pre_mainH A D29-Oct-20132.1 KiB6750

READMEH A D29-Oct-20132.4 KiB6049

crt0.cH A D29-Oct-20131.5 KiB6442

README

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