Index of /geminiatari/FILES/GNU/LIBSRC87
Name Last modified Size Description
Parent Directory 24-Sep-2006 15:38 -
A64L.C 30-Jul-1993 01:14 4k
ABORT.C 30-Jul-1993 01:14 1k
ABS.C 30-Jul-1993 01:14 1k
ACCESS.C 30-Jul-1993 01:14 1k
ALGLOBAL.C 30-Jul-1993 01:14 1k
ALLOCA.CPP 30-Jul-1993 01:14 1k
ALPHASOR.C 30-Jul-1993 01:14 1k
ATOF.C 30-Jul-1993 01:14 17k
ATOL.C 30-Jul-1993 01:14 1k
BBLINK.C 30-Jul-1993 01:14 3k
BCMP.C 30-Jul-1993 01:14 1k
BCOPY.CPP 30-Jul-1993 01:14 5k
BINMODE.C 30-Jul-1993 01:14 1k
BSEARCH.C 30-Jul-1993 01:14 1k
BZERO.CPP 30-Jul-1993 01:14 3k
CALLOC.C 30-Jul-1993 01:14 1k
CATCH.C 30-Jul-1993 01:14 1k
CGMAKEFI.16 30-Jul-1993 01:14 4k
CGMAKEFI.32 30-Jul-1993 01:14 4k
CHANGELO 30-Jul-1993 01:14 114k
CHDIR.C 30-Jul-1993 01:14 1k
CHMOD.C 30-Jul-1993 01:14 2k
CLOCK.C 30-Jul-1993 01:14 1k
CLOSE.C 30-Jul-1993 01:14 1k
CMAKEFIL.16 30-Jul-1993 01:14 4k
CMAKEFIL.32 30-Jul-1993 01:14 4k
CMAKEFIL.E 30-Jul-1993 01:14 1k
CONSOLE.C 30-Jul-1993 01:14 4k
CRT0.C 30-Jul-1993 01:14 14k
CRT0.S 30-Jul-1993 01:14 5k
CTIME.C 30-Jul-1993 01:14 3k
CTYPE.C 30-Jul-1993 01:14 3k
DEFMODE.C 30-Jul-1993 01:14 1k
DEVICE.C 30-Jul-1993 01:14 1k
DFLONUM.C 30-Jul-1993 01:14 15k
DIFFTIME.C 30-Jul-1993 01:14 1k
DIRENT.C 30-Jul-1993 01:14 5k
DIV.C 30-Jul-1993 01:14 1k
DIV.CPP 30-Jul-1993 01:14 1k
DL_QSORT.C 30-Jul-1993 01:14 4k
DMAKEFIL.E 30-Jul-1993 01:14 4k
DOPRNT.C 30-Jul-1993 01:14 25k
DUMPGM.C 30-Jul-1993 01:14 1k
DUP.C 30-Jul-1993 01:14 1k
EPRINTF.C 30-Jul-1993 01:14 1k
ERRBASE.H 30-Jul-1993 01:14 1k
EXEC.C 30-Jul-1993 01:14 2k
FCLOSE.C 30-Jul-1993 01:14 1k
FCNTL.C 30-Jul-1993 01:14 1k
FDOPEN.C 30-Jul-1993 01:14 1k
FFLUSH.C 30-Jul-1993 01:14 2k
FGETC.C 30-Jul-1993 01:14 1k
FGETS.C 30-Jul-1993 01:14 1k
FHANDLE.C 30-Jul-1993 01:14 1k
FILBUF.C 30-Jul-1993 01:14 1k
FINDFILE.C 30-Jul-1993 01:14 3k
FIXNUM.S 30-Jul-1993 01:14 6k
FLONUM.H 30-Jul-1993 01:14 5k
FOPEN.C 30-Jul-1993 01:14 3k
FORK.C 30-Jul-1993 01:14 5k
FORK.H 30-Jul-1993 01:14 1k
FPPRINT.C 30-Jul-1993 01:14 3k
FPRINTF.C 30-Jul-1993 01:14 1k
FPUTC.C 30-Jul-1993 01:14 1k
FPUTS.C 30-Jul-1993 01:14 1k
FREAD.C 30-Jul-1993 01:14 3k
FREXP.C 30-Jul-1993 01:14 2k
FREXP.CPP 30-Jul-1993 01:14 5k
FRWBIN.C 30-Jul-1993 01:14 1k
FSCANF.C 30-Jul-1993 01:14 1k
FSEEK.C 30-Jul-1993 01:14 2k
FSETPOS.C 30-Jul-1993 01:14 1k
FTW.C 30-Jul-1993 01:14 3k
FUNGETC.C 30-Jul-1993 01:14 1k
FWRITE.C 30-Jul-1993 01:14 3k
GETBUF.C 30-Jul-1993 01:14 1k
GETCWD.C 30-Jul-1993 01:14 1k
GETENV.C 30-Jul-1993 01:14 1k
GETLOGIN.C 30-Jul-1993 01:14 1k
GETOPT.C 30-Jul-1993 01:14 3k
GETPASS.C 30-Jul-1993 01:14 1k
GETPID.C 30-Jul-1993 01:14 1k
GETPW.C 30-Jul-1993 01:14 4k
GETS.C 30-Jul-1993 01:14 1k
GETUID.C 30-Jul-1993 01:14 1k
GETW.C 30-Jul-1993 01:14 1k
GMAKEFIL.E 30-Jul-1993 01:14 1k
GMON.C 30-Jul-1993 01:14 17k
GNULIB2.C 30-Jul-1993 01:14 30k
GRP.C 30-Jul-1993 01:14 3k
IC.C 30-Jul-1993 01:14 1k
IDENT.C 30-Jul-1993 01:14 1k
IG.C 30-Jul-1993 01:14 1k
IL.C 30-Jul-1993 01:14 1k
IOCTL.C 30-Jul-1993 01:14 2k
IP.C 30-Jul-1993 01:14 1k
ISATTY.C 30-Jul-1993 01:14 1k
IW.C 30-Jul-1993 01:14 1k
LDEXP.C 30-Jul-1993 01:14 1k
LDEXP.CPP 30-Jul-1993 01:14 5k
LIB.H 30-Jul-1993 01:14 2k
LINEA.C 30-Jul-1993 01:14 4k
LINEA.I 30-Jul-1993 01:14 10k
LINK.C 30-Jul-1993 01:14 1k
LOCALTIM.C 30-Jul-1993 01:14 9k
LSEEK.C 30-Jul-1993 01:14 2k
LTOA.C 30-Jul-1993 01:14 1k
MAIN.C 30-Jul-1993 01:14 5k
MAIN.S 30-Jul-1993 01:14 5k
MAKEFILE 30-Jul-1993 01:14 3k
MAKEFILE.HP 30-Jul-1993 01:14 1k
MALLOC.C 30-Jul-1993 01:14 5k
MCONF 30-Jul-1993 01:14 1k
MEMCCPY.C 30-Jul-1993 01:14 1k
MEMCHR.C 30-Jul-1993 01:14 1k
MEMCMP.C 30-Jul-1993 01:14 1k
MEMCPY.C 30-Jul-1993 01:14 1k
MINCL 30-Jul-1993 01:14 4k
MINCL.16 30-Jul-1993 01:14 3k
MINCL.32 30-Jul-1993 01:14 3k
MKDIR.C 30-Jul-1993 01:14 1k
MKTEMP.C 30-Jul-1993 01:14 2k
MODF.C 30-Jul-1993 01:14 3k
MODF.CPP 30-Jul-1993 01:14 4k
MODF_C.OLD 30-Jul-1993 01:14 3k
NEW_PIPE.C 30-Jul-1993 01:14 3k
NORM.C 30-Jul-1993 01:14 6k
NULL.C 30-Jul-1993 01:14 1k
OBSTACK.C 30-Jul-1993 01:14 11k
OPEN.C 30-Jul-1993 01:14 3k
OSBIND.C 30-Jul-1993 01:14 14k
OSBIND.I 30-Jul-1993 01:14 27k
PATCHLEV.H 30-Jul-1993 01:14 1k
PERROR.C 30-Jul-1993 01:14 1k
PIPE.C 30-Jul-1993 01:14 6k
POPEN.C 30-Jul-1993 01:14 4k
PRINTF.C 30-Jul-1993 01:14 4k
PRTFLD.C 30-Jul-1993 01:14 1k
PSIGNAL.C 30-Jul-1993 01:14 1k
PUTENV.C 30-Jul-1993 01:14 1k
QSORT.C 30-Jul-1993 01:14 8k
RAISE.C 30-Jul-1993 01:14 1k
RAND.C 30-Jul-1993 01:14 1k
RANDOM.C 30-Jul-1993 01:14 13k
READ.C 30-Jul-1993 01:14 6k
REALLOC.C 30-Jul-1993 01:14 2k
REGEXP.C 30-Jul-1993 01:14 28k
REGSUP.C 30-Jul-1993 01:14 2k
RENAME.C 30-Jul-1993 01:14 4k
RMDIR.C 30-Jul-1993 01:14 2k
ROUNDER.C 30-Jul-1993 01:14 3k
SBRK.C 30-Jul-1993 01:14 2k
SCANDIR.C 30-Jul-1993 01:14 2k
SCANF.C 30-Jul-1993 01:14 11k
SCREEN.C 30-Jul-1993 01:14 3k
SETBUF.C 30-Jul-1993 01:14 1k
SETJMP.CPP 30-Jul-1993 01:14 1k
SETLOCAL.C 30-Jul-1993 01:14 2k
SETVBUF.C 30-Jul-1993 01:14 1k
SFLONUM.S 30-Jul-1993 01:14 9k
SGTTY.C 30-Jul-1993 01:14 1k
SIGLIST.C 30-Jul-1993 01:14 1k
SIGNAL.C 30-Jul-1993 01:14 2k
SLDEXP.C 30-Jul-1993 01:14 1k
SLEEP.C 30-Jul-1993 01:14 1k
SPAWNVE.C 30-Jul-1993 01:14 5k
SPAWNVP.C 30-Jul-1993 01:14 1k
SPRINTF.C 30-Jul-1993 01:14 1k
SSCANF.C 30-Jul-1993 01:14 1k
STAT.C 30-Jul-1993 01:14 9k
STKSIZ.C 30-Jul-1993 01:14 1k
STRAPS.CPP 30-Jul-1993 01:14 1k
STRCAT.C 30-Jul-1993 01:14 1k
STRCHR.C 30-Jul-1993 01:14 1k
STRCMP.C 30-Jul-1993 01:14 1k
STRCOLL.C 30-Jul-1993 01:14 1k
STRCPY.C 30-Jul-1993 01:14 1k
STRCSPN.C 30-Jul-1993 01:14 1k
STRDUP.C 30-Jul-1993 01:14 1k
STRERROR.C 30-Jul-1993 01:14 3k
STRFTIME.C 30-Jul-1993 01:14 7k
STRICMP.C 30-Jul-1993 01:14 1k
STRLEN.C 30-Jul-1993 01:14 1k
STRLWR.C 30-Jul-1993 01:14 1k
STRNCAT.C 30-Jul-1993 01:14 1k
STRNCMP.C 30-Jul-1993 01:14 1k
STRNCPY.C 30-Jul-1993 01:14 1k
STRNICMP.C 30-Jul-1993 01:14 2k
STRPBRK.C 30-Jul-1993 01:14 1k
STRRCHR.C 30-Jul-1993 01:14 1k
STRREV.C 30-Jul-1993 01:14 1k
STRSPN.C 30-Jul-1993 01:14 1k
STRSTR.C 30-Jul-1993 01:14 1k
STRTOK.C 30-Jul-1993 01:14 1k
STRTOL.C 30-Jul-1993 01:14 3k
STRTOUL.C 30-Jul-1993 01:14 3k
STRUPR.C 30-Jul-1993 01:14 1k
SYMDIR.C 30-Jul-1993 01:14 7k
SYMDIR.H 30-Jul-1993 01:14 2k
SYMLINK.C 30-Jul-1993 01:14 3k
SYSTEM.C 30-Jul-1993 01:14 4k
SYSVAR.C 30-Jul-1993 01:14 1k
TAGS 30-Jul-1993 01:14 29k
TCHARS.C 30-Jul-1993 01:14 1k
TEST1.C 30-Jul-1993 01:14 1k
TEST2.C 30-Jul-1993 01:14 1k
TEXT 30-Jul-1993 01:14 1k
TEXTIO.C 30-Jul-1993 01:14 1k
TIME.C 30-Jul-1993 01:14 1k
TIMEODAY.C 30-Jul-1993 01:14 1k
TIMES.C 30-Jul-1993 01:14 1k
TMPFILE.C 30-Jul-1993 01:14 2k
TMPNAM.C 30-Jul-1993 01:14 1k
TOXXX.C 30-Jul-1993 01:14 1k
TRAPS.C 30-Jul-1993 01:14 18k
UNIXMODE.DOC 30-Jul-1993 01:14 15k
UNLINK.C 30-Jul-1993 01:14 4k
UNX2DOS.C 30-Jul-1993 01:14 17k
UTIME.C 30-Jul-1993 01:14 2k
V.C 30-Jul-1993 01:14 1k
VFORK.C 30-Jul-1993 01:14 1k
WRITE.C 30-Jul-1993 01:14 2k
_ADDSUBD.CPP 30-Jul-1993 01:14 7k
_ADDSUBS.CPP 30-Jul-1993 01:14 6k
_CMPDF2.S 30-Jul-1993 01:14 3k
_CMPSF2.S 30-Jul-1993 01:14 2k
_DIVDF3.CPP 30-Jul-1993 01:14 5k
_DIVMODS.S 30-Jul-1993 01:14 3k
_DIVSF3.CPP 30-Jul-1993 01:14 6k
_EXTENDS.CPP 30-Jul-1993 01:14 3k
_FIXDFSI.CPP 30-Jul-1993 01:14 3k
_FIXSFSI.CPP 30-Jul-1993 01:14 2k
_FLTSI.CPP 30-Jul-1993 01:14 2k
_FLTSISF.CPP 30-Jul-1993 01:14 1k
_FXUNSD.CPP 30-Jul-1993 01:14 3k
_ISNAN.S 30-Jul-1993 01:14 1k
_MULDF3.CPP 30-Jul-1993 01:14 5k
_MULSF3.CPP 30-Jul-1993 01:14 4k
_MULSI3.S 30-Jul-1993 01:14 1k
_NEGDF2.S 30-Jul-1993 01:14 1k
_NEGSF2.S 30-Jul-1993 01:14 1k
_NORMDF.CPP 30-Jul-1993 01:14 5k
_NORMSF.CPP 30-Jul-1993 01:14 4k
_TRUNCDF.CPP 30-Jul-1993 01:14 2k
_UDIVMOD.S 30-Jul-1993 01:14 2k
_UMULSI3.S 30-Jul-1993 01:14 1k
Recent additions: (gcc v1.35 release and later)
PLEASE carefully read the file `Changelog' for details
Here is a very incomplete list of changes, see `Changelog' for details.
- BSD curses library port added
- curses widget lib added.
- new functions vfork, wait.
- system() now does i/o re-direction
- new functions stty, gtty
- new function tzset
- new function console_set_key and new include file
keymap.h (see Changelog).
-filename mapping now more flexible. a new function
that allows user settable filename mapping. (see Changelog)
- malloc chunk size now user settable. (see Changelog)
- stat, access, bcopy, qsort completely replaced.
- scanf overhauled for floats. it was broken.
- all pml tests pass now
- HUGE defined properly in atof and math.h (aka pmluser.h)
- added extern size_t __DEFAULT_BUFSIZ__
it is by default set to BUFSIZ but at any point you can assign to
it, and from then onwards all fopen's will use that size for
buffering. NOTE: makeing __DEFAULT_BUFSIZ__ == 0 will result
in unpredictable behavior. If you want unbuffered streams use
other means (like setbuf etc).
- added _malloczero(int truth)
by calling _malloczero(1) all subsequent malloc's will zero
fill memory before returning (very useful with the toglclr util and
tos 1.4 or later).
- many of the lXXX functions are now just globl labels at the head of
appro. functions (when applicable). Note: this may have to
change is the behaviour of asm() changes.
- added berzerkly'ish sys/dir.h
- lseek now supports BSD file extension semantics
- line buffered (output) streams now work correctly
- bug in dflonum.c corrected
- bug fixes in osbind.h
- lots of code cleanup.
- some stuff dynamisized.
- atexit fixed
- printf now handles `#' flag
- setjmp fixed. it did'nt work at all.
- stat fixed for . and .. (Tos 1.4 still seems to have this bug)
-following files from the first distribution of this lib (with gcc
V1.35) moved to sub-dir `notused/'
bcopy.c
index.c
lbcmp.c
lbcopy.c
lbzero.c
qsort.c
remove.c
rindex.c
fpprint.c
sldexp.c
printf.c
prtfld.c
sldexp.c
- setlinebuf added
- atof, ldexp, frexp, modf etc re-wroked
- all formatted print routines re-worked
- pml lib passes all tests now
- lots of other bug fixes
----------------------------------------------------------------------------
Here's a new library for the TOS version of the GCC. You need at least
need GCC 1.31 to use it; if your version of the GCC is less than 1.33 you
will need to tweak a few things.
ACKNOWLEDGEMENTS:
Eric Smith (7103_300%uwovax.uwo.ca@CORNELLC.CIT.CORNELL.EDU, please
put attn `Eric Smith' as this is a shared mbox) put this library together and
contributed a lot of code, and put a lot of effort in debugging it. The
library in its current form is due to his efforts.
The original TOS GCC library that came with GCC 1.25, much of which was
written by or revamped by John R. Dunning (jrd@STONY-BROOK.SCRC.Symbolics.COM),
provided many of the low level routines. Of course we are also very greatful
to jrd for his origonal port of gnu.
Most of the standard i/o library came from Dale Schumacher's dLibs version
1.2.
The string handling stuff is from Henry Spencer.
Last but not the least, i would like to thank all the users who have sent
in comments / suggestions.
Thanks one and all!
We have re-organized/hacked the code of others above, and are responsible
for the new bugs. please report them!
ENHANCEMENTS:
Ansi compatibility (i would estimate we are about 90% there).
A lot of new functions.
Prototypes for everything. I have personally become a believer in them after
being a disbeliever. It does help catch some pretty subtle errors (even if
you are using 32 bit ints).
Some new functionality for old functions, including:
New stream I/O functions; fgetc(), fputc(), etc. all do newline translation
by default. Appending "b" to the mode argument of fopen() will disable this
translation. printf() and scanf() accept more options. printf with e and g
floating point formats is sort of working (this could stand repairs!!)
For compatibility to the old TOS gcc library, calling the function
_binmode(1);
at the top of main() will make binary mode the default mode
for stream i/o (std in/out/err will do the correct cr mapping as before),
and the i/o functions will behave pretty much like before.
There is an extern size_t __DEFAULT_BUFSIZ__ that is normally set to BUFSIZ,
but you can override it at any point, and get default buffers of that size
for buffered i/o (a cheap way to have large buffers, instead of
putting setvbuf()'s all over the place, but its ansi non-compatible).
The time functions all work with unix style times now, to make porting easier.
localtime() etc now look up the env. variable `TZ' and calculate the local
time correctly, taking into account DST etc.
Functions which work with files accept unix-style path names (with '/' as
a directory separator) as well as tos-style ones (with '\' between
directories).
Process spawn functions handle long args using MWC conventions. If and when
the discussion on the net culminates, we can adapt. gulam users may want
to set their `env_style mw'. New spawn functions present.
Library setup for to generate both a 16 bit int library (-mshort compatible)
or a 32 bit int library (See the files CMakefile.16, CMakefile.32 for the
cross-compiler, and makefile.16, makefile.32 for the native ST compiler)
Posix compatible directory access functions (thanks Doug Gwyn and Eric Smith).
osbind.h is now more or less complete. it is setup to generate inline traps
by default. This can be overridden by `-D__NO_INLINE__' at compile time
(see files straps.cpp for the 16 bit defn, and traps.c for the 32 bit
definitions of __NO_INLINE__ gemdos, xbios and bios traps).
For use with GDB, MUST use __NO_INLINE__
lineA.h is setup in a similar manner (i am not including it in this
distribution as it is a little buggy, will let you have it in a few days
once i have had a chance to clean it up a bit).
Lots of brand new fuctionality. Docs are in the works.
complete reorganization/revaming of #include <> files, please take a moment to
become familiar with them. Most of the origonal TOS gcc .h files are
there in the same place, so you should not have much trouble when compiling
existing code.
and lots more! please browse though the header files in ../t-include
POSSIBLE GOTCHAS:
USE PROTOTYPES TO STAY OUT OF TROUBLE !!!!!!!!!!!!!!!!!!!!!!!
(new utility by eric smith `mkproto' provided for this purpose, so the
traditional excuses are not applicable :-)
Here is a new addition for the hackers dictionary
UTFP -- Use The F***ing Prototypes -:) -:)
Especially when using -mshort be aware that
the TYPE of SIZE_T is UNSIGNED LONG
the SIZEOF operator returns a result of the type UNSIGNED LONG
NULL is not a 16 bit integer
string functions DO NOT restrict you to int sized strings
The above choices are both (almost) mandated (see the ansi draft) and
deliberate. We were not about to restrict data structures to 64k max sizes
when using -mshort (this would be criminal on the 68k architecture,
also see the file obstacks.h for another very good reason)
In short (pun intended) please look over and use prototypes and supplied
header files!
NOT HAPPY ABOUT:
other than some algorithms that can and will be revamed, we are a
little unhappy about the static data size of the library. we are working
on cutting this down, and also on dynamicizing more fixed sized structures in
the library. Some of the local arrays will also be probably converted to
alloca's of dynamically determined appro. sizes.
BUGS:
No doubt lots of these. Especially look out for places labelled FIXME:
these are known to be broken or substandard.
Please send your comments/suggestions/contributions/bug reports
to both/either/or
enjoy,
--
Eric R. Smith jwahar r. bammi
7103_300@uwovax.uwo.ca bammi@dsrgsun.ces.cwru.edu
7103_300@uwovax.bitnet {decvax,sun}!cwjcc!dsrgsun!bammi
(a shared mailbox: put his name on GEnie: J.Bammi
the message, please!)