Commit Graph

579 Commits

Author SHA1 Message Date
Roland McGrath
e3726b056b Rewrote i386 setjmp in assembly.
Thu Aug 31 13:23:35 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/unix/i386/brk.S [PIC]: Set __curbrk through the GOT.

	Rewrote i386 setjmp code in assembly, so as to avoid fighting
	with the compiler for the register values.
	* sysdeps/i386/setjmp.S, sysdeps/i386/__longjmp.S: New files.
	* sysdeps/i386/setjmp.c, sysdeps/i386/__longjmp.c: Files removed.
	* sysdeps/i386/jmp_buf.h [! _ASM] (__jmp_buf): Define as array of ints.
	[__USE_MISC || _ASM] (JB_*): New macros, for indices therein.
	(_JMPBUF_UNWINDS): Use JB_SP.
1995-08-31 17:33:01 +00:00
Roland McGrath
9e865adecf * sysdeps/mach/hurd/dirstream.h: Define `struct __dirstream'
instead of `DIR'.
	* sysdeps/unix/bsd/dirstream.h: Likewise.
	* sysdeps/stub/dirstream.h: Likewise.
	* sysdeps/unix/dirstream.h: Likewise.
	* sysdeps/mach/hurd/telldir.c: Include "dirstream.h".
	* sysdeps/mach/hurd/seekdir.c: Likewise.
	* sysdeps/mach/hurd/opendir.c: Likewise.
	* sysdeps/mach/hurd/closedir.c: Likewise.
	* sysdeps/mach/hurd/readdir.c: Likewise.
	* sysdeps/unix/telldir.c: Likewise.
	* sysdeps/unix/seekdir.c: Likewise.
	* sysdeps/unix/rewinddir.c: Likewise.
	* sysdeps/unix/readdir.c: Likewise.
	* sysdeps/unix/opendir.c: Likewise.
	* sysdeps/unix/closedir.c: Likewise.
	* sysdeps/unix/bsd/telldir.c: Likewise.
	* sysdeps/unix/bsd/readdir.c: Likewise.
	* dirent/Makefile (headers): Remove dirstream.h.
	(distribute): Put it here instead.
1995-08-28 09:00:05 +00:00
Roland McGrath
b8dc6a10ee * csu/Makefile [$(elf)=yes] (have-initfini): Set to yes.
[$(have-initfini)=yes]: Test this rather than $(elf) for crtstuff.
	[start-installed-name-rule]: If this is defined, elide rule for
	$(objpfx)$(start-installed-name).
	* sysdeps/unix/sysv/sco3.2.4/Makefile [$(subdir)=csu]
 	(start-installed-rule, start-installed-name-rule): New variables;
 	specify crt1.o, created by our own rule.
	($(objpfx)crt1.o): New rule.
	* configure.in: Require autoconf 2.4.2 or later.  Change all
 	AC_CACHE_VAL uses to use new AC_CACHE_CHECK macro instead;
 	prettify some messages.
	[$elf!=yes] (libc_cv_have_initfini): New test for `.init' and `.fini'
	sections.
	* munch-tmpl.c [HAVE_INITFINI]: Call _init and atexit (_fini) in
 	this case rather than #ifdef HAVE_ELF.
	* config.h.in (HAVE_INITFINI): New macro.
1995-07-27 09:00:07 +00:00
Roland McGrath
4356cfd7ad * stdlib/strtol.c [_LIBC]: Define STDC_HEADERS.
* sysdeps/unix/sysv/ftime.S: New file.

	* locale/locfile-parse.c (categories_write): Cast "" to char *.

	* io/fcntl.h [__OPTIMIZE__] (creat): Macro removed.

	* time/strftime.c: Use year modulo 100 for %y.

	* time/sys/timeb.h: Add __BEGIN_DECLS and __END_DECLS.

	* sysdeps/unix/snarf-ioctls (snarfexclude): Use two sed's instead
 	of one, to work around bug in sunos4.1.2 sed.
1995-07-25 18:36:31 +00:00
Roland McGrath
d7e16e9e83 Sat Jul 22 20:53:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/i386/sysdep.h (JUMPTARGET): Use ## to avoid space
 	before @PLT.
	* sysdeps/mach/i386/sysdep.h (JUMPTARGET): New macro.
	* sysdeps/i386/bsd-_setjmp.S: Use JUMPTARGET macro in jmp insn.
	* sysdeps/i386/bsd-setjmp.S: Likewise.
1995-07-23 00:58:43 +00:00
Roland McGrath
439d1d4560 Sat Jul 22 01:56:03 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/i386/sysdep.h (JUMPTARGET): New macro; use name@PLT
 	#ifdef PIC.
	(PSEUDO): Use JUMPTARGET(syscall_error) in jump insn.
	* sysdeps/unix/i386/syscall.S: Use JUMPTARGET(syscall_error) in
 	jump insn.

	* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.h: Rewritten.
	* sysdeps/unix/sysv/sysv4/linux/i386/syscall.S: New file.
	* sysdeps/unix/sysv/sysv4/linux/i386/socket.S: Include
 	<sys/socketcall.h>.  Save %ebx in call-clobbered %edx instead of
 	stack.  Use JUMPTARGET(syscall_error) in jump insn.

	* Makeconfig (+gccwarn): Add -Wbad-function-cast -Wconversion.

	* sysdeps/unix/i386/sysdep.h (ENTRY): Use ASM_GLOBAL_DIRECTIVE and
 	ASM_TYPE_DIRECTIVE.
	(ASM_TYPE_DIRECTIVE): New macro; defined using `.type' #ifdef ELF.

	* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error): 
	Rewritten, #include'ing unix/i386/sysdep.S for most of the code.
	* sysdeps/unix/i386/sysdep.S [PIC]: Store into `errno' through the GOT.

	Fixes to help Linux, inspired by drepper's work:
	* configure.in (os=linux*): Use unix/sysv/sysv4 for $base_os,
 	instead of unix/sysv.
	* sysdeps/posix/utimes.c: New file.
	* sysdeps/generic/getdomain.c: New file.
	* sysdeps/i386/init-first.c: Removed gratuitous #include <hurd.h>.
	* sysdeps/generic/dl-sysdep.c: Include <unistd.h> and declare
 	externals _dl_argc, _dl_argc, and _environ.
	* sysdeps/unix/sysv/linux/{accept,connect,getsockname,rename,
	socketpair,waitpid,bind,getpeername,listen,setsid,wait4}.S: Moved
	to new directory sysdeps/unix/sysv/sysv4/linux.
	* sysdeps/unix/sysv/linux: Directory removed.
	* sysdeps/unix/sysv/i386/linux/{socket.S,sysdep.h,sysdep.S}: Moved
	to new directory sysdeps/unix/sysv/sysv4/linux/i386.
	* sysdeps/unix/sysv/linux/i386: Directory removed.
1995-07-22 10:48:43 +00:00
Brendan Kehoe
57ba525e34 undo previous change, not needed w/ configure fix 1995-06-14 00:15:10 +00:00
Brendan Kehoe
bddb308102 * sysdeps/unix/bsd/osf/alpha/sysdep.h (HAVE_ASM_SET_DIRECTIVE): Put in #undef.
Tue Jun 13 12:13:18 1995  Brendan Kehoe  (brendan@zen.org)

	* sysdeps/unix/bsd/osf/alpha/sysdep.h (HAVE_ASM_SET_DIRECTIVE):
	Put in #undef.
1995-06-13 19:35:18 +00:00
Roland McGrath
2657da50f0 (main): Don't generate "#ifdef HAVE_WEAK_SYMBOLS" #defns. 1995-04-18 17:59:42 +00:00
Brendan Kehoe
e0585da111 * /sysdeps/unix/bsd/ultrix4/mips/sysdep.h: New file defining NO_UNDERSCORES then using sysdeps/unix/mips/sysdep.h.
Sun Apr 16 03:23:09 1995  Brendan Kehoe  (brendan@zen.org)

	* /sysdeps/unix/bsd/ultrix4/mips/sysdep.h: New file defining
	NO_UNDERSCORES then using sysdeps/unix/mips/sysdep.h.
1995-04-16 08:24:34 +00:00
Brendan Kehoe
d619f2a8a7 * sysdeps/unix/bsd/osf/alpha/killpg.S (killpg): Add .end directive. * sysdeps/unix/bsd/osf/alpha/sigblock.S (__sigblock): Likewise. * sysdeps/unix/bsd/osf/alpha/sigsetmask.S (__sigsetmask): Likewise. * sysdeps/unix/bsd/osf/alpha/sigpause.S (__sigpause): Likewise. * sysdeps/unix/bsd/osf/alpha/sigvec.S (__sigvec): Likewise. * sysdeps/unix/bsd/osf/alpha/getdents.S (__getdirentries): Likewise. * sysdeps/unix/bsd/osf/alpha/fork.S (__fork): Likewise. * sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise. * sysdeps/unix/bsd/osf/alpha/recv.S (recv): Likewise. * sysdeps/unix/bsd/osf/alpha/send.S (send): Likewise. * sysdeps/unix/bsd/osf/alpha/vhangup.S (vhangup): Likewise.
* sysdeps/unix/bsd/osf/alpha/killpg.S (killpg): Add .end directive.
	* sysdeps/unix/bsd/osf/alpha/sigblock.S (__sigblock): Likewise.
	* sysdeps/unix/bsd/osf/alpha/sigsetmask.S (__sigsetmask): Likewise.
	* sysdeps/unix/bsd/osf/alpha/sigpause.S (__sigpause): Likewise.
	* sysdeps/unix/bsd/osf/alpha/sigvec.S (__sigvec): Likewise.
	* sysdeps/unix/bsd/osf/alpha/getdents.S (__getdirentries): Likewise.
	* sysdeps/unix/bsd/osf/alpha/fork.S (__fork): Likewise.
	* sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/osf/alpha/recv.S (recv): Likewise.
	* sysdeps/unix/bsd/osf/alpha/send.S (send): Likewise.
	* sysdeps/unix/bsd/osf/alpha/vhangup.S (vhangup): Likewise.

	* sysdeps/unix/mips/brk.S (__brk, __curbrk): Add .end directive.
1995-04-15 04:07:56 +00:00
Brendan Kehoe
fa21d69305 ... changing to use /**/ instead of ! as comments
* sysdeps/unix/bsd/osf/alpha/brk.S: Likewise.
	* sysdeps/unix/bsd/osf/alpha/brk.S: Likewise.
1995-04-15 02:38:17 +00:00
Brendan Kehoe
77162807d7 * sysdeps/unix/mips/brk.S (__brk, __curbrk): Add .end. * sysdeps/unix/mips/fork.S (fork): Likewise. * sysdeps/unix/mips/pipe.S (fork): Likewise. * sysdeps/unix/mips/sigreturn.S (__sigreturn): Likewise. * sysdeps/unix/mips/sysdep.S (sysdep_error): Likewise. * sysdeps/unix/mips/wait.S (__handler): Likewise. * sysdeps/mips/setjmp.S (__sigsetjmp): Likewise. * sysdeps/mips/bsd-setjmp.S (setjmp): Likewise. * sysdeps/unix/bsd/ultrix4/getsysinfo.S (getsysinfo): Likewise. * sysdeps/unix/bsd/ultrix4/wait3.S (waitpid): Likewise. * sysdeps/unix/bsd/ultrix4/waitpid.S (waitpid): Likewise. * sysdeps/unix/bsd/ultrix4/mips/__handler.S (__handler): Likewise. * sysdeps/unix/bsd/ultrix4/mips/sigvec.S (__raw_sigvec): Likewise. * sysdeps/unix/bsd/ultrix4/mips/start.S (__start): Likewise. * sysdeps/unix/bsd/ultrix4/mips/vfork.S (vfork): Likewise. * sysdeps/mips/bsd-_setjmp.S (setjmp): Likewise. Use $0' instead of zero' for the li instruction.
* sysdeps/unix/mips/brk.S (__brk, __curbrk): Add .end.
	* sysdeps/unix/mips/fork.S (fork): Likewise.
	* sysdeps/unix/mips/pipe.S (fork): Likewise.
	* sysdeps/unix/mips/sigreturn.S (__sigreturn): Likewise.
	* sysdeps/unix/mips/sysdep.S (sysdep_error): Likewise.
	* sysdeps/unix/mips/wait.S (__handler): Likewise.
	* sysdeps/mips/setjmp.S (__sigsetjmp): Likewise.
	* sysdeps/mips/bsd-setjmp.S (setjmp): Likewise.
	* sysdeps/unix/bsd/ultrix4/getsysinfo.S (getsysinfo): Likewise.
	* sysdeps/unix/bsd/ultrix4/wait3.S (waitpid): Likewise.
	* sysdeps/unix/bsd/ultrix4/waitpid.S (waitpid): Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/__handler.S (__handler): Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/sigvec.S (__raw_sigvec): Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S (__start): Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/vfork.S (vfork): Likewise.
	* sysdeps/mips/bsd-_setjmp.S (setjmp): Likewise.  Use `$0'
	instead of `zero' for the li instruction.
1995-04-15 02:30:20 +00:00
Brendan Kehoe
dfd5ddb713 * sysdeps/unix/bsd/osf/alpha/start.S: Change comments to be preprocessor comments, not assembler comments.
* sysdeps/unix/bsd/osf/alpha/start.S: Change comments to be
	preprocessor comments, not assembler comments.
1995-04-15 02:07:14 +00:00
Brendan Kehoe
dce38123d0 * sysdeps/unix/bsd/osf/alpha/sysdep.h (NO_UNDERSCORES): Define.
Fri Apr 14 18:49:03 1995  Brendan Kehoe  (brendan@zen.org)

	* sysdeps/unix/bsd/osf/alpha/sysdep.h (NO_UNDERSCORES): Define.
1995-04-15 01:56:26 +00:00
Roland McGrath
883bc19b7c * locale/loadlocale.c (_nl_load_locale): Use MAP_INHERIT flag in
mmap call.

	* configure.in (os=freebsd*|bsdi*): Set base_os=unix/bsd/bsd4.4
 	for these too.

	* sysdeps/unix/sysv/tcsetattr.c: Use |= instead of = to properly
 	set c_oflag value.

	* Makeconfig [! objpfx] (csu-objpfx): Add trailing slash.

	* locale/Makefile (categories): Uncomment collate.
	* locale/lc-collate.c: New file.
1995-04-08 19:09:39 +00:00
Roland McGrath
e627021e1b * hurd/hurdinline.c: Include signal.h first, so we don't define
its inlines too.

	* sysdeps/unix/sysv/sysv4/sigset.h (__sigfillset): Use ~0L instead
 	of -1 to avoid compiler warning.

	* configure.in (host_os=linux*): Set elf=yes for this, not just
 	linux*elf*.
1995-04-06 00:37:26 +00:00
Roland McGrath
fa0ad20487 * sysdeps/unix/start.c: Remove spurious decl and #endif. 1995-04-04 22:18:26 +00:00
Roland McGrath
a9df882945 Wed Mar 29 11:26:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
More changes from Germano Caronni <caronni@tik.ethz.ch>:
	* malloc/free.c: Relocate _heapinfo when that allows us to return
 	core to the system.

	* malloc/malloc.c: Move #include <errno.h> outside #ifndef
	_MALLOC_INTERNAL.
1995-03-29 16:34:21 +00:00
Roland McGrath
342414a6e0 * sysdeps/unix/bsd/bsd4.4/revoke.S: New file.
* sysdeps/stub/revoke.c: New file.
	* misc/Makefile (routines): Add revoke.
	* posix/unistd.h [__USE_BSD] (revoke): Declare it.
	* sysdeps/generic/pty.c (openpty, forkpty): Declare return types.
	(forkpty): Declare login_tty.
	* misc/logwtmp.c (logwtmp): Declare to return void.
	* misc/login_tty.c (login_tty): Include unistd.h.  Declare return type.
1995-03-27 10:24:00 +00:00
Roland McGrath
a04e740593 Fri Mar 24 02:35:37 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* stdio/printf-parse.h: New file, mostly written by drepper.
	* stdio/vfprintf.c: Rewritten, mostly by drepper.
	* stdio/printf-prs.c: Rewritten.
	* stdio/Makefile (distribute): Add printf-parse.h.

Thu Mar 23 22:03:44 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/unix/start.c [! NO_UNDERSCORES]: Don't declare _start
 	with asm name.  Just do a ".set start, __start".

	* malloc/realloc.c: Call _free_internal instead of free.

	* stdlib/Makefile: All the mpn stuff moved here from stdio/Makefile.
1995-03-24 07:44:08 +00:00
Brendan Kehoe
222c4e717a * configure.in: Match osf*', not osf1*'. * configure: Likewise. * sysdeps/unix/bsd/osf: Renamed to `sysdeps/unix/bsd/osf1'.
Thu Mar  9 17:16:53 1995  Brendan Kehoe  (brendan@zen.org)

	* configure.in: Match `osf*', not `osf1*'.
	* configure: Likewise.
	* sysdeps/unix/bsd/osf: Renamed to `sysdeps/unix/bsd/osf1'.
1995-03-10 01:56:19 +00:00
Brendan Kehoe
feebe869ae moved to ../osf 1995-03-10 01:22:39 +00:00
Roland McGrath
6408bdde65 Fri Mar 3 12:24:52 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/sys/mman.h (__mmap, __munmap): Declare these.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/osf1/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/stub/munmap.c (munmap): Rename to __munmap, add weak
 	alias munmap.
	* sysdeps/unix/mman/munmap.S: Likewise.
	* sysdeps/mach/munmap.c: Likewise.
	* sysdeps/mach/hurd/mmap.c (mmap): Rename to __mmap, add weak
 	alias mmap.
	* sysdeps/unix/mman/mmap.S: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/mmap.c: Likewise.
	* sysdeps/stub/mmap.c: Likewise.

	* sysdeps/unix/bsd/setsid.c: Use __getpgid instead of __getpgrp.

	* sysdeps/unix/dirfd.c: #undef dirfd before function defn.

Thu Mar  2 12:15:24 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* misc/search.h: Add missing semicolon.

	* sysdeps/unix/dirfd.c: Fix typo.

	* sysdeps/generic/sys/mman.h (mmap): Use __off_t instead of off_t
 	in decl.

	* stdio/vfscanf.c (%c): In no-assign case, fix loop to decrement
 	WIDTH before test.
1995-03-06 00:27:08 +00:00
Roland McGrath
22a1292a42 * io/Makefile (routines): Add euidaccess.
* sysdeps/mach/hurd/euidaccess.c: New file.
	* sysdeps/stub/euidaccess.c: New file.
	* posix/unistd.h [__USE_GNU] (euidaccess): Declare it.

	* dirent/Makefile (routines): Add dirfd.
	* sysdeps/stub/dirfd.c: New file.
	* sysdeps/unix/dirfd.c: New file.
	* sysdeps/unix/dirstream.h (_DIR_dirfd): New macro.
	* dirent/dirent.h (dirfd): Declare new function.  Define as macro
 	_DIR_dirfd if that is defined.
	* sysdeps/mach/hurd/dirstream.h (DIR): Replace `__port' member
 	with `void *__fd'.
	* sysdeps/mach/hurd/opendir.c: Use DIRP->__fd instead of DIRP->__port.
	Open the file with `open'; set FD_CLOEXEC on the fd.
	* sysdeps/mach/hurd/closedir.c: Likewise.
	* sysdeps/mach/hurd/readdir.c: Likewise.
	* sysdeps/mach/hurd/dirfd.c: New file.

	* posix/Makefile (glob/configure): Do cvs commit if there is a CVS
 	directory.
	(glob/ChangeLog): Likewise.

	* locale/locale.h (LC_*): Use small integers instead of bit masks.
1995-02-25 01:23:32 +00:00
Roland McGrath
6b08e0a455 [subdir=crypt] (crypt): New variable, set to crypt.solar. 1995-02-22 02:53:16 +00:00
Roland McGrath
37f91d336d Tue Feb 21 00:10:50 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* csu/Makefile (crtstuff): New variable consolidates crti, crtn;
 	add crti_s, crtn_s.
	(install-lib, extra-objs, generated-, omit-deps): Use that.
	(initfini): New canned sequence, broken out of crt[in].s rule.
	(crt[in].s rule): Use it.
	(crt[in]_s.s): New rule.
	* csu/initfini.c (GLOBAL): New macro; define it to empty if undefined.
	(_init, _fini): Use GLOBAL as storage class.
	Add self reference to avoid GCC optimizing out the functions.

	* Makefile (headers): Remove $(stddef.h).
	* Makeconfig (stddef.h): Variable removed; now require gcc version
 	>= 2.2.
	* stddef.h: File removed.

Mon Feb 20 19:42:31 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>

	* sysdeps/unix/bsd/ultrix4/mips/start.S: Remove `__environ'
 	definition.
	* sysdeps/unix/bsd/osf1/alpha/start.S: Likewise.

	* stdlib/strtod.c: Allow the string to start with a decimal point
 	without a leading zero.
1995-02-21 06:02:58 +00:00
Roland McGrath
5f9e57babe Sun Feb 19 17:46:13 1995 Roland McGrath <roland@duality.gnu.ai.mit.edu>
* posix/Makefile (aux): Add environ.
	* posix/environ.c: New file.
	* sysdeps/unix/sparc/start.c: Remove __environ definition.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/mach/hurd/start.c: Likewise.
	* sysdeps/mach/start.c: Likewise.
	* sysdeps/stub/start.c: Likewise.

	* sysdeps/unix/make_errlist.c: In produced program, test
 	HAVE_WEAK_SYMBOLS instead of HAVE_GNU_LD.
	* sysdeps/unix/sysv/sysv4/dup2.c: Fix #include of renamed file.
  	Remove extra weak alias.

	* sysdeps/unix/sysv/sysv4/sigaltstack.S: Fix unsquashed file name
 	in #include.

	* libc-symbols.h: Put comment around ^L to pacify Solaris as.

	* sysdeps/posix/Makefile (cded-objdir-includes): New variable
 	replaced cded-objdir-CPPFLAGS; transform $(+includes) instead of
 	$(CPPFLAGS).
	(mk-stdiolim): Use it instead.

	* mach/mach_init.c (__vm_page_size): Make it initialized.  It does
 	not work to make a weak alias to a bss symbol.

	* stdio/Makefile (distribute): Remove mpn-copy.mk; add gen-mpn-copy.
	(tests): Add test-fwrite.
	* stdio/test-fwrite.c: New file.

	* stdlib/stdlib.h [__USE_GNU]: Declare strtof, strtold, __strtof,
 	__strtold.

	* Makefile (autoconf-it): New canned sequence.  Do cvs commit if
 	there is a CVS directory.
	(configure, %/configure): Use $(autoconf-it) for cmds.
	* Make-dist: Likewise.
	* Makerules ($(gpl2lgpl)): Likewise.
 	inlines cause trouble for files defining global register variables.
	* stdio/vfprintf.c: Set PREC to zero for %. without following digit.
1995-02-20 01:08:14 +00:00
Roland McGrath
28f540f45b initial import 1995-02-18 01:27:10 +00:00