
19991113	Rick (Richard Allen) Hohensee  humbubba@smart.net
	Added almost all Linux syscalls (about 160) as individual  words
		with no errno handling, simply return an int in TOS.
		Looks to me like errno is derived anyway. Via #include
		unistd_x86.h. "make stripped" is ~= 18k  with the syscalls.
	removed syscall0, 1, 2 ... words because of preceeding item
	Made most word names lowercase. parse and PARSE are reversed,
		OR, AND, XOR and NOT are upper case.
	tweaked the Makefile for a leaner stripped:, made  clean: -> tidy:
		and realclean: -> clean:
	Did makeGlossary script and tweaks to eforth.S comments for it.
		It requires no markup in eforth.S other than indentation.
	removed some gdb and other debugging hooks and comments.
	Put some eforth background files in an ./attic directory.
	killed the nuf? stuff in words, see  and dump
	lower-cased the user variables I had overlooked
	re-ordered the definitions ala  syscalls, user vars, code, colon
	did a makeWords scriptlet to send "words" to a file.
	Re-wrote "see". Pretty spiffy.
	tweaked more comments.
	cleaned up a bug in unistd macros, "rename" is not 9 letters :o)
	

probably broke...  
	General caveat: I'm doing this while trying to learn as little
		x86 asm as possible.
	All the install stuff in the Makefile. I use VERY non-standard
		directory names. Any other pathname dependancies as well.
	the BUFFER_TOS option vis-a-vis syscall words, see general caveat.
	only 2 syscalls checked at this moment, but they probably almost 
		all work. Really.
	no comments for syscalls, so no glossary entries. RTFM. Args are
		as per the section 2 manpages, in similar order on the 
		stack I think, and syscalls return an int that is 
		reflective of errno.
	"words" baffles me
	Are there any problems with really long "as" labels like 
		SCHED_PRETEND_WE'RE_THE_DAMN_OS ? 


Congratulations to the previous authors of eforth for creating a sound base
	for a self-sufficient Forth userspace on x86 Linux. 






1999-06-16	Far <fare@tunes.org>
	Release e

	* ported eforth to ELF instead of a.out (was about time!)
	In particular, ELF introduces changes the .align behavior back
	to what it was before linux a.out!
	It also modifies the base address where programs are loaded in core.
	Made good use of GNU as subsections.

	* added minimal support for argc, argv, and environ.
	see the beginning of eforth.S for initialization,
	and test.4th for how to use it.

	* added lots of additional documentation.
	Modified and reformatted existing docs.

1995-09-16	Far <rideau@clipper.ens.fr>
	Release d

	* maintenance release

1995-05-13	Far <rideau@clipper.ens.fr>
	Release c

	* changed (and had to debug)-8 the NEXT macro into an ENTER/NEXT pair.

	* added Glossary from original eForth

1995-??-??	Far <rideau@clipper.ens.fr>
	Release b

	* added support for Linux syscalls

	* removed the need of the CPP hack, by using GAS = definitions instead
	of CPP #define's whenever possible

	* created macros to debug eforth with gdb...

	* many "optimizations" in assembly code.
	All this optimizing is just for fun,
	as the eForth model has the CPU waste most of its time
	jumping around anyway.

	* e.g. added buffering of top of stack in %ebx
	(enable/disable with BUFFER_TOS)

	* created this Changelog, a TODO file, etc.

1994-11-16	Far <rideau@clipper.ens.fr>
	Release a

	* Converted DOS system calls
	(as transmitted by DJGPP's GO32 DOS extender),
	into Linux system calls.

	* disabled input echoing and version message (words TAP and 'BOOT).

	* CPP wanted considered $UPP and alikes as a whole,
	and I had to separate the $ (for immediate addressing mode)
	from the constant name for #define expansion.

	* GAS had a nastier problem, much harder to find:
	the .align's of the DJGPP version of GAS port
	had the same syntax as under Linux, but not the same effect !
	With the DJGPP version, GAS took an argument being
	the number of bytes to align to, and filled with zeros,
	while the Linux version took an argument being size in 16-bit words,
	and filled with NOP's, unless told otherwise.
	I isolated the alignment directive in a macro,
	so you can adapt it easily should the directive change.

	* LD assumed -N flag under DJGPP; I had to explicitly use
	the -N flag of ld under Linux (the code is self-patching).

	* To help debugging, I added some macros (currently disabled)
	to dump information at some places in the sources. You may want
	to reenable them if you to extend the system and face bugs.
	See DBG, PRNUM, BRKPNT, BRK, and the same with underscore prefix
	to disable.

	* Finally, I used GNU unexpand -a to *dramatically* reduce
	the size of the sources (31%) by automatically introducing tabs. 
	If you too as vandys, dislike tabs, use GNU expand to remove them !

